那些你要知道的设计模式之-中介者

2018-04-22  本文已影响4人  小巨人Vea

一.定义

用一个中介对象来封装一系列的对象交互,中介者使各对象不需要显式地相互引用,从而使其耦合松散,而且可以独立地改变它们之间的交互,属于行为性模式

二.作用

三.案例

中介者模式比较简单,在实际项目开发中经常会被用到,先来一个简单的例子,ConcreteColleague代表具体同事类,具备具体的行为,并和中介者关联。

//具体的同事类
public class ConcreteColleague {

    private String name;

    private ConcreteMediator mediator;

    //通过构造函数和中介者关联
    public ConcreteColleague(String name, ConcreteMediator mediator) {
        this.name = name;
        this.mediator = mediator;
    }

    public void doSomething() {
        mediator.doSomething();
    }

    //行为
    public void say(){
        System.out.println("我叫"+name);
    }
}

在定义一个ConcreteMediator中介者,帮助同事类处理各种行为

//中介者
public class ConcreteMediator {

   private  ConcreteColleague colleague;

    public void setColleague(ConcreteColleague colleague) {
        this.colleague = colleague;
    }

    public void doSomething(){
        colleague.say();
    }
}

实际应用如下:

   public static void main(String[] args) {
        //定义中介者
        ConcreteMediator mediator =  new ConcreteMediator();
        //定义同事类
        ConcreteColleague colleague = new ConcreteColleague("小许",mediator);
        //中介者关系他的同事类
        mediator.setColleague(colleague);
        //帮助同事类处理行为
        mediator.doSomething();

    }

看看执行结果:
我叫小许

四.总结

上一篇下一篇

猜你喜欢

热点阅读