Java设计模式-----Mediator中介者模式
来源:互联网 发布:网络改写的小说 编辑:程序博客网 时间:2024/05/21 01:28
源自: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<abstractcolleague></abstractcolleague> colleagueList = new ArrayList<abstractcolleague></abstractcolleague>();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)
- Java设计模式-----Proxy模式(静态代理)
- Java设计模式-----Proxy模式(动态代理)
- Java设计模式-----Memento备忘录模式
- Android 子窗口关闭后怎么把数据回传给主窗口
- uses-permission的问题
- Java设计模式-----Mediator中介者模式
- The data couldn’t be read because it has been corrupted
- Java设计模式-----Chain of Responsibility职责链模式
- Java设计模式-----Visitor访问者模式
- Java设计模式-----Composite模式
- Java设计模式-----FlyWeight享元模式
- 全文检索lucene学习笔记(五)
- Java中使用DES进行加密解密
- 关于"Java中方法参数的传递方式"的探讨