中介者模式——对象行为型模式
2016-10-10 18:05
190 查看
一、意图
用一个中介对象来封装一系列的对象交互。中介者使各个对象不需要显示地互相引用,从而使其耦合松散,而且可以独立地改变他们之间的交互。
二、适用性
在下列情况下使用中介者模式:
一组对象以定义良好但是复杂的方式进行通信,产生的相互依赖关系结构混乱且难以理解。
一个对象引用其他很多对象并且直接与这些对象通信,导致难以复用该对象。
想定制一个分布在多个类中的行为,而又不想生成太多的子类。
三、结构
四、代码
用一个中介对象来封装一系列的对象交互。中介者使各个对象不需要显示地互相引用,从而使其耦合松散,而且可以独立地改变他们之间的交互。
二、适用性
在下列情况下使用中介者模式:
一组对象以定义良好但是复杂的方式进行通信,产生的相互依赖关系结构混乱且难以理解。
一个对象引用其他很多对象并且直接与这些对象通信,导致难以复用该对象。
想定制一个分布在多个类中的行为,而又不想生成太多的子类。
三、结构
四、代码
public abstract class Mediator { public abstract void method(); }
public class ConcreteMediator extends Mediator { protected ConcreteColleagueA colleagueA;//具体同事A protected ConcreteColleagueB colleagueB;//具体同事B @Override public void method() { colleagueA.action(); colleagueB.action(); } public void setColleagueA(ConcreteColleagueA colleagueA) { this.colleagueA = colleagueA; } public void setColleagueB(ConcreteColleagueB colleagueB) { this.colleagueB = colleagueB; } }
public abstract class Colleague { protected Mediator mediator ;//中介者对象 public Colleague(Mediator mediator){ this.mediator = mediator; } /** * 同事角色的具体行为,由子类去实现 */ public abstract void action(); }
public class ConcreteColleagueA extends Colleague { public ConcreteColleagueA(Mediator mediator) { super(mediator); } @Override public void action() { System.out.println("ColleagueA 将信息递交给中介者处理"); } }
public class ConcreteColleagueB extends Colleague { public ConcreteColleagueB(Mediator mediator) { super(mediator); } @Override public void action() { System.out.println("ColleagueB 将信息递交给中介者处理"); } }
相关文章推荐
- 3.5 Mediator(中介者) -- 对象行为型模式
- 设计模式 ( 十五 ) 中介者模式Mediator(对象行为型)
- [设计模式笔记]三. 行为型模式--19. Mediator模式(中介者)对象行为型模式(一)
- 中介者模式(Mediator)(对象行为型模式)
- [导入]C#面向对象设计模式纵横谈(17):(行为型模式) Mediator 中介者模式.zip(8.75 MB)
- MEDIATOR(中介者)——对象行为型模式
- 设计模式 ( 十五 ) 中介者模式Mediator(对象行为型)
- java设计模式--中介者模式(对象行为型)
- 设计模式 ( 十五 ) 中介者模式Mediator(对象行为型)
- Mediator(中介者)-对象行为型模式
- 设计模式 ( 十五 ) 中介者模式Mediator(对象行为型)
- 设计模式 ( 十五 ) 中介者模式Mediator(对象行为型)
- 调停者模式(Mediator Pattern,对象行为型模式,中介者模式)
- 调停者模式(Mediator Pattern,对象行为型模式,中介者模式)
- 设计模式 ( 十五 ) 中介者模式Mediator(对象行为型)
- 设计模式 ( 十五 ) 中介者模式Mediator(对象行为型)
- 中介者(Mediator)----对象行为型模式
- 设计模式十八:mediator(中介者模式)——对象行为型模式
- 中介者模式-对象行为型
- C#面向对象模式设计第十七讲:Mediator 中介者模式(行为型模式)