- 一、角色
- 抽象中介者(Mediator):所有中介对象的抽象接口
- 具体中介者(ConcreteMediator):中介对象具体实现,负责同事功能类的通信
- 抽象同事类(Colleague):所有同事对象的抽象接口
- 具体同事类(ConcreteColleague):同事对象的具体实现
- 二、适用场景
- 一组定义良好的对象,现在要进行复杂的相互通信
- 想通过一个中间类来封装多个类中的行为,而又不想生成太多的子类
- 三、实例
- 图1中AbstractMediator是抽象中介者,AbstractMediator是具体中介者对象,负责PartnerA和PartnerB连个具体同事类之间的通信,它们都继承抽象同事类AbstractCardPartner
- 代码地址:https://github.com/lanhei/DesignPattern/tree/master/src/com/lanhei/patterns/mediator
图-1