(1)用一个中介对象来封装一系列关于对象交互行为。
(2)把对象之间的交互行为从网状结构变成星型结构。
2. 优点
(1)需要增加或减少对象时,只需要修改中介对象,其它对象不变。
(2)对象更容易被复用。
3. 代码架构
(1)抽象调停者类:定义所有抽象接口以及interpret()方法。
(2)具体调停者类:继承抽象调停者类。
(3)抽象同事类:只关联抽象调停者,不知道其它的同事对象。
(4)具体同事类:继承抽象同事类。
4. 误用调停者模式的情况
(1)责任划分混乱。此时,应当首先把每个同事类的责任理清楚,而不是着急使用调停者模式。
(2)尽量不要设计“纯数据类”和“纯方法类“。因为封装是对行为以及行为所涉及的状态的封装。
5. 典型应用场景
(1)中国加入WTO。商务运作可以交给WTO组织,而不需要直接面对各个国家的商务条款。
(2)聊天应用中的MessageMediator,专门负责request/reponse之间任务的调节。
(3)其它信息传递应用。
参考文献:
1. 《设计模式》 板桥里人
2. 《Java与模式》 阎宏
没有评论:
发表评论