中介者模式,这个设计模式在博主的工作中,好像几乎没有主动用过。但是其思想理念倒是可以借鉴使用。在这里做个学习笔记,以便于加深自己的理解。
中介模式的主要目的和作用,<font color="#ff0000">其实就是减少不同类(对象)之间的依赖关系,特别是复杂对象之间的混乱无序的依赖关系</font>,比如A依赖B,B依赖C,C依赖D,D依赖E,D依赖A等等吧,
看下图,各个对象之间的直接交互的话,是多么杂乱无章,简直是<font color="#ff0000">真是剪不断理还乱</font>。几乎每个对象都需要和其他对象产生关系,也就是需要花精力维护着其他对象的引用。
在这里插入图片描述
面对这种设计,中介者就起到了<font color="#ff0000">快刀斩乱麻的作用</font>,对象之间原本的通信和交互都交给中介者这个对象, 是的不同对象之间由原来的面对面的直接交互,变成了由中介者负责处理对象之间的交互。主要是用来解耦。如果使用中介者的话,上面的图就可以演化成这样:
在这里插入图片描述是不是顺眼多了?事实上,不仅仅面向对象的世界需要中介者模式,现实中也需要,比如十字路口的红绿灯或者交警,天空中飞的飞机需要塔台来管控各个飞机的起落等等。
网友评论