4.7 《硬啃设计模式》 第24章 麻烦的多角关系 - 中介者模式(Mediator Pattern)简介

时间:2023-03-08 15:39:23
4.7 《硬啃设计模式》 第24章 麻烦的多角关系 - 中介者模式(Mediator Pattern)简介

在Windows程序中,有时候界面控件之间的交互会很麻烦,如:A控件显示什么的时候,B控件要显示什么,另外C控件要不可用,同样其它控件也会有类似的复杂要求。控件与控件之间很容易形成复杂的多角关系了。
现在让你来梳理这些多角关系,你会咋办?

蜘蛛网般的多角关系是很麻烦,所有麻烦最好通过一个中间人来解决,这就是中介者模式的核心思想。

应用了中介者模式的解决方案如下:

4.7 《硬啃设计模式》 第24章 麻烦的多角关系 - 中介者模式(Mediator Pattern)简介

说明:
1.每个控件不需要直接和别的控件打交道,只需要知道中介者就可以了。
2.每个控件都需要保持保持中介者的引用,而中介者不一定需要保持每个控件的引用。
3.Mediator的代码可能很复杂。

中介者模式的类图如下:

4.7 《硬啃设计模式》 第24章 麻烦的多角关系 - 中介者模式(Mediator Pattern)简介

说明:
1.对象间关系复杂,可通过中介者将各对象的关联解耦,将各种复杂关系的处理逻辑,都放在中介者中。

2.写好中介者处理各Colleague关系代码,是一项挑战。

请看下一文……

作者:张传波

创新工场创业课堂(敏捷课程)讲师

软件研发管理资深顾问

CMMI首席专家

《火球——UML大战需求分析》作者

www.umlonline.org创办人