Java设计模式-----Mediator中介者模式
来源:互联网 发布:股票经典书籍 知乎 编辑:程序博客网 时间:2024/05/21 20:29
源自:http://www.blogjava.net/flustar/archive/2007/12/12/mediator.html
Mediator中介者模式:
用一个中介者对象来封装一系列的对象交互。中介者使各对象不需要显式的相互引用,从而使其耦合松散,而且可以独立的改变他们之间的交互。
例子:
public abstract class AbstractMediator {public abstract void register(AbstractColleague ac);public abstract void ColleagueChanged(AbstractColleague ac);}public class ConcreteMediator extends AbstractMediator {private ArrayList colleagueList = new ArrayList();public void register(AbstractColleague ac) {colleagueList.add(ac);}public void ColleagueChanged(AbstractColleague ac) {for (int i = 0; i < colleagueList.size(); i++) {if (colleagueList.get(i) != ac) {colleagueList.get(i).action();}}}}public abstract class AbstractColleague {private AbstractMediator med;public AbstractColleague(AbstractMediator mediator) {this.med = mediator;}public abstract void action();public void changed() {med.ColleagueChanged(this);}}public class ConcreteColleagueA extends AbstractColleague {public ConcreteColleagueA(AbstractMediator mediator) {super(mediator);mediator.register(this);}public void action() {System.out.println("AAAAAAAAAAAAAAA");}}public class ConcreteColleagueB extends AbstractColleague {public ConcreteColleagueB(AbstractMediator mediator) {super(mediator);mediator.register(this);}public void action() {System.out.println("BBBBBBBBBBBBBBB");}}public class ConcreteColleagueC extends AbstractColleague {public ConcreteColleagueC(AbstractMediator mediator) {super(mediator);mediator.register(this);}public void action() {System.out.println("CCCCCCCCCCCCCCC");}}public class Client {public static void main(String[] args) {AbstractMediator mediator = new ConcreteMediator();AbstractColleague colleagueA = new ConcreteColleagueA(mediator);AbstractColleague colleagueB = new ConcreteColleagueB(mediator);AbstractColleague colleagueC = new ConcreteColleagueC(mediator);colleagueA.changed();colleagueB.changed();colleagueC.changed();}}
- Java设计模式-----Mediator中介者模式
- Java设计模式-----Mediator中介者模式
- java设计模式--mediator 中介者模式
- Mediator(中介者)设计模式
- java Mediator 中介者模式
- JAVA设计模式十三--Mediator(中介者模式)
- java设计模式之中介者模式Mediator
- java设计模式-中介者模式(Mediator)
- 设计模式(十七)----- 中介者模式(Mediator)----(JAVA版)
- JAVA设计模式—中介者模式(Mediator)
- Java设计模式十二: 中介者模式(Mediator Pattern)
- JAVA设计模式十三:--Mediator(中介者模式)
- JAVA设计模式——中介者模式(Mediator)
- java设计模式-Mediator(中介者)模式
- JAVA设计模式之 中介者模式【Mediator Pattern】
- Java设计模式——Mediator(中介者)模式
- JAVA--中介者模式(Mediator)--设计模式二十二
- java设计模式——中介者模式(Mediator Pattern)
- csdn
- KMP算法
- FreeBasic,一种能开发OS的basic变种语言
- 指导人的25句话
- struts中的迭代输出
- Java设计模式-----Mediator中介者模式
- struts复选框的处理
- 菜鸟学Python(16):一些奇技(持久更新中)
- 谈C++继承中的重载、覆盖和隐藏
- 一个比较实用的JDBC连接类
- jfreeChart多元数据之柱形图的生成
- 从 韩寒“不要动不动就举国暴怒”说开去
- 初试指针---原来指针可以这样用啊!
- jsp调用存储过程的方法