Mediator的意思是中介者、调节者、传递物,顾名思义,这个模式在程式中必然负担一个中介、调节、传递的工作。
物件导向设计中,每个物件所负担的工作尽可能的简单明了,鼓励物件将工作分布至其它物件上,让一群工作属性相同的物件得以共同合作,即所谓高聚合性,以增加物件的可重用性。
然而在组织物件工作的同时,物件彼此之间可能知道彼此的存在,并相互依赖,这就使得物件之间的耦合性相对的提高,最差的情况下,所有的物件都知道彼此的存在,这又会使得系统的重用性降低。
Mediator模式用一个中介的物件来封装物件彼此之间的交互,物件之间并不用互相知道另一方,这可以降低物件之间的耦合性,如果要改变物件之间的交互行为,也只需要对Mediator加以修改即可。
在 Gof 的书 中所举的例子为对话方块组件;例如,当一个特定的输入栏为空时,另一个按钮不能使用;在ListBox的选项中选择一个项目,将会改变另一个栏位的内容;反过来的,输入栏位的内容也会影响ListBox的选择等等。
Design Pattern: Mediator 模式
最新推荐文章于 2025-04-19 11:16:47 发布