首页 > ASP.net教程

MediatorPattern(中介者模式)

2016-12-30 11:53:03

/** * 中介者模式 * @author TMAC-J * 研究了这么多设计模式,觉得无非就是几点: * 1.若两个类有耦合关系,设立一个中间类,处理两个类的关系,把两个类的耦合降低 * 2.面向接口 * 3.在设计时就应当想到如果以后有修改,不要去修改原有类,而要设计成能新添加类去做新功能的架构 * 中介者模式用于两个相互通信的类,相当于一个中间层 * 这里模拟A变量始终是B变量的10倍 */public class MediatorPattern {  interface IMediator{        void aToB(AColleague a,AColleague b);        void bToA(AColleague b,AColleague a);      }    abstract class AColleague{        private int variable;        private IMediator mediator;    public int getVariable() {      return variable;    }    public IMediator getMediator() {      return mediator;    }    public void setMediator(IMediator mediator) {      this.mediator = mediator;    }    //这里可以写一个回调,当variable改变时,回调那个方法,我太懒就不写了    public void setVariable(int variable) {      this.variable = variable;    }      }     public class Mediator implements IMediator{    @Override    public void aToB(AColleague a, AColleague b) {      b.setVariable(a.getVariable()*10);    }    @Override    public void bToA(AColleague b, AColleague a) {      a.setVariable(b.getVariable()*10);    }      }  }