使用场景:
Mediator模式适用于多组件之间存在制约关系的情景。例如Gui开发中,各种组件是独立的,但开发的界面中各个组件存在制约关系。书中提到的登陆框的例子,便是这种情景。
类关系图:
仲裁者Mediator负责生成各种组件colleague,并将自身实例传给组件,以便组件可以回调状态给仲裁者,这里可用观察者模式实现。meidator还通过controlColleague来控制colleague。
书中举的登陆框例子代码量太大,但逻辑较简单,不再记录。
优缺点:
优点:分离了组件与组件之间的联系,使得组件能够复用,且组件维护较简单。
缺点:mediator比较盘大,较难维护。