中介者模式

4.16中介者模式

4.16.1智能家庭管理问题

智能家庭项目

  1. 智能家庭包括各种设备,闹钟、咖啡机、电视机、窗帘等。

  2. 主人要看电视时,各个设备可以协同工作,自动完成看电视的准备工作,比如流程为:闹铃响起->咖啡机开始做咖啡-> 窗帘自动落下->电视机开始播放。

  3. 类图
    中介者模式

4.16.2中介者模式

基本介绍

  1. 中介者模式(Mediator Pattern),用一个中介对象来封装一系列的对象交互。中介者使各个对象不需要显式地相互引用,从而使其耦合松散,而且可以独立地改变它们之间的交互。

  2. 中介者模式属于行为型模式,使代码易于维护。

  3. 比如MVC模式,C (Controller控制器) 是M (Model模型) 和V (View视图)的中介者,在前后端交互时起到了中间人的作用。

  4. 类图
    中介者模式

4.16.3中介者模式的注意事项和细节

  1. 多个类相互耦合,会形成网状结构,使用中介者模式将网状结构分离为星型结构,进行解耦。

  2. 减少类间依赖,降低了耦合,符合迪米特原则。

  3. 中介者承担了较多的责任,一旦中介者出现了问题,整个系统就会受到影响

  4. 如果设计不当,中介者对象本身变得过于复杂,这点在实际使用时,要特别注意。

中介者模式

上一篇:Python键盘输入


下一篇:nisp