首页 > 其他分享 >门面模式VS中介者模式

门面模式VS中介者模式

时间:2022-11-09 17:38:52浏览次数:54  
标签:封装 同事 中介 VS 模式 门面 子系统


       门面模式为复杂的子系统提供给一个统一的访问界面,它定义的而是一个高层接口,该接口使得子系统更加容易使用,避免外部模块深入到子系统内部而产生于子系统内部细节耦合的问题。中介者模式是用一个中介对象来封装一系列同事对象的交互行为,它使各对象之间不再显示地引用,从而使其耦合松散,建立一个可扩展的应用架构

      下面用一个工资计算的例子来说明两者的差别,先来看中介者模式实现工资计算:

门面模式VS中介者模式_扩展

门面模式实现工资计算:

门面模式VS中介者模式_门面模式_02

      门面模式和中介者模式之间的区别还是比较明显的,门面模式是以封装和隔离为主要任务,而中介者模式则是以调和同事类之间的关系为主,因为要调和,所以具有了子系统的业务逻辑控制。

      功能区别:门面模式只增加了一个门面,他对子系统来说没有增加任何的功能,子系统若脱离门面独立运行完全是可以的。而中介者模式则增加了业务功能,它把各个同事类中的原有耦合关系移植到了中介者,同事类不可能脱离中介者而独立存在。

      知晓状态不同:对门面模式来说,子系统部知道有门面存在,而对中介者来说,每个同事类都知道中介者的存在,因为要依靠中介者调和同事之间的关系

      封装程度不同:门面模式是一种简单的封装,所有的请求处理都委托给子系统完成,而中介者模式则需要有一个中心,由中心协调同事类完成,并且中心本身也完成部分业务,它属于更进一步的业务封装

标签:封装,同事,中介,VS,模式,门面,子系统
From: https://blog.51cto.com/u_15870687/5837380

相关文章

  • 设计模式利剑4-模板方法模式
    定   义:定义一个操作中的算法的框架,而将一些步骤延迟到子类中,使得子类可以不改变一个算法的结构即可重定义该算法的某些特定步骤优   点:            1......
  • 设计模式利剑5-建造者模式
    定   义:将一个复杂对象的构建于它的表示分离,使得同样的构建过程可以创建不同的表示优   点:            1、封装性            2、建造者......
  • VS2010中的任务并行
        VS2010提供了任务并行库TPL增强了应用程序的并发性,在客户端系统中,并发任务的操作是不可缺少的一项功能,这样可以加强用户体验,在VS2010中有了全新的操作方式。......
  • python之路27 单例模式实现方式、pickle模块、选课系统目录搭建
    单例模式实现的多种方式单例1:(提前定义一个名字)classC1:__instance=Nonedef__init__(self,name,age):self.name=nameself.age......
  • 设计模式利剑15-组合模式
    定     义:将对象组合成树形结构以表示“整体-部分”的层次结构,使得用户对单个对象和组合对象的使用具有一致性优     点:              1、高层......
  • vscode远程调试
    在本地计算机上:在vscode的工作空间中,创建用于远程调试的配置文件launch.json,设置端口和主机以及目录映射。{"name":"Python:Attach","type":"python","re......
  • python单例模式
    单例模式的意思单例模式是一个软件的设计模式,为了保证一个类,无论调用多少次产生的实例对象,都是指向同一个内存地址,仅仅只有一个实例(只有一个对象)。单例模式的优势1.全......
  • 设计模式简介及单例模式
    目录设计模式简介及单例模式单例模块实现的多种方式方式一:绑定给类的方法方式二:基于元类的类名加括号方式三:基于模块的单例模式方式四:定义一个装饰器实现单例模式方法五:基......
  • 单例模式、pickle模块、选课系统
    今日内容概要单列模式实现的多种方式pickle序列化模块选课系统需求分析选课系统架构设计选课系统目录搭建选课系统功能搭建选课系统管理员功能今日内容详细......
  • 设计模式利剑14-迭代器模式
    定     义:它提供一种方法访问一个容器对象中各个元素,而又不需暴露该对对象的内部细节,,Iterator模式就是分离了集合对象的遍历行为,抽象出一个迭代器类来负责,这样既可以......