Aha!设计模式(89)-中介者模式(1)
Aha!设计模式(89)-中介者模式(1)
意图
当多个对象为了同一个目的需要相互协作时,指定一个中介对象作为业务的中枢,以降低各个对象之间的耦合程度。
动机
面向对象设计的一个重要原则就是高内聚,低耦合。因此在设计一个软件时,总是希望将系统的功能进行分解然后分配给不同的参与者类。这种方式对于软件功能中可以复用的那部分没有任何问题,因为这有助于软件功能的复用化。但是对于软件功能中只适用于当前软件的那部分功能,如果非要强制性的分配到参与者类中的话,就会造成类数量的膨胀和类之间依赖程度的几何级数增长。
考虑下面的Word2016中的文字环绕属性设定对话框,用户在选择不同的环绕方式之后,下面的文字环绕方向和距离设定控件的有效无效会随之发生变化。
如果将让每个环绕方式控件管理其他控件动作的话,需要让每个环绕方式控件都要和其他控件之间建立通知渠道。可以想象这是多么复杂的一个网络。
几乎所有的应用开发都会遇到这样的问题,也就是说当我们将可以共通的功能越来越集中到可复用的类之后,总是要有人来承担那些不可复用的部分。而那些不可复用的部分往往就是应用特有的内容,这部分内容处于业务的中心,利用可复用类的功能,协调可复用类的行为。处理这部分功能的类就是中介者类。
觉得本文有帮助?请分享给更多人。
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~