网站建设123,企业网站建设的一般要素包括,网络营销品牌策划优化,百度搜索引擎链接文章目录 1、相同点2、不同点 1、相同点
目的都是为了更好地处理对象之间的关系#xff1a;这三种模式都是在软件设计中用于处理对象之间的关联和交互#xff0c;以达到优化系统结构、增强可维护性等目的。它们都在一定程度上隐藏了对象之间的某些细节或者复杂性#xff0c… 文章目录 1、相同点2、不同点 1、相同点
目的都是为了更好地处理对象之间的关系这三种模式都是在软件设计中用于处理对象之间的关联和交互以达到优化系统结构、增强可维护性等目的。它们都在一定程度上隐藏了对象之间的某些细节或者复杂性使得系统的设计更加合理。都属于结构型设计模式中介者模式、代理模式和适配器模式都归类于结构型设计模式。结构型设计模式主要关注如何将类或对象组合成更大的结构以满足软件系统的需求。这三种模式通过不同的方式来组织和协调对象之间的关系从而构建出更灵活、易于维护的系统架构。
2、不同点
功能和作用重点不同 中介者模式重点在于协调多个对象之间的复杂交互关系。它通过引入一个中介者对象使得各个对象之间不再直接相互引用而是将交互的请求和信息都发送给中介者由中介者来统一处理和协调这些交互。例如在一个多人在线游戏的社交系统中玩家之间的聊天、组队、交易等复杂交互都通过游戏服务器中介者来进行协调降低了玩家之间的耦合度使得系统的交互逻辑更加集中和易于管理。代理模式主要用于控制对另一个对象的访问。代理对象在客户端和目标对象之间起到一个中间人的作用它可以在访问目标对象之前或之后执行一些额外的操作如权限验证、延迟加载、缓存等。例如在一个网络代理服务器中它作为客户端访问互联网资源目标对象的代理会先验证客户端的访问权限然后再转发请求同时还可能对经常访问的资源进行缓存提高访问效率。适配器模式侧重于解决接口不兼容的问题。当一个类的接口与期望的接口不匹配时适配器模式提供了一种将一个类的接口转换成客户端所期望的另一种接口的方式。例如在一个新的支付系统中旧的银行接口与新的支付接口不兼容通过适配器可以将旧接口的调用转换为符合新支付接口要求的形式使得旧系统能够与新系统协同工作。 对象之间的关系和协作方式不同 中介者模式多个同事对象Colleague都与中介者Mediator对象进行通信中介者对象知道所有同事对象并协调它们之间的交互。同事对象之间一般不直接交互它们的交互请求都通过中介者来中转和处理。例如在一个智能家居系统中各种智能设备同事对象如灯、空调、窗帘等都和智能家居中控系统中介者通信当用户通过手机APP控制这些设备时APP将指令发送给中控系统中控系统再根据指令协调各个设备之间的联动如开灯的同时拉上窗帘等。代理模式代理对象和目标对象之间是一种代理关系。代理对象代表客户端来访问目标对象客户端只与代理对象交互而代理对象在内部管理对目标对象的访问。例如在一个远程对象代理的场景中客户端调用本地的代理对象代理对象负责将请求通过网络发送到远程的目标对象并将目标对象的响应返回给客户端。适配器模式适配器对象同时关联了被适配对象Adaptee和目标接口Target。它实现了目标接口并在内部将目标接口的调用转换为对被适配对象的调用。例如在一个将旧数据库接口适配到新的应用程序接口的场景中适配器对象实现了新应用程序所期望的数据库访问接口在内部将这些接口的调用转换为对旧数据库接口的调用方式使得旧数据库能够在新应用程序中正常使用。 应用场景不同 中介者模式适用于存在多个对象之间复杂交互且需要集中管理这些交互的场景如GUI系统中的组件交互、游戏中的角色交互系统、企业信息系统中的模块间协作等。代理模式常用于需要控制对对象的访问权限、进行资源访问优化如缓存、延迟加载或者远程访问对象的情况如网络代理、安全代理、虚拟代理等。适配器模式主要用于系统集成、接口升级等场景当需要将不兼容的接口进行整合或者旧系统与新系统协同工作时就会用到适配器模式如软件系统的接口更新、硬件设备接口的转换等。