java设计模式----中介者模式 weir 2015-05-17 09:16:30.0 java,设计模式 1002 其实看着名字就能猜出一些端倪来,中介是干嘛的,你不会不知道,正如之前所说的,人对复杂的事情有天生的厌烦感。复杂就意味着交互多,那么把这些复杂的交互统一管理起来,而你只需要结果岂不美哉,这怎么是在说领导呀,杂事交给手下做,领导只要结果。 我们还那电脑举例子,外观模式是买电脑,中介者模式是运行电脑。 运行电脑就需要电脑里面的各个零件协作完成,通过主板交互最后输出到显示器上面。 package com.weir.mediator; public interface Mediator { public void create(); public void doWork(); } package com.weir.mediator; public abstract class Colleague { private Mediator mediator; public Colleague(Mediator mediator) { this.mediator = mediator; } public Mediator getMediator() { return mediator; } public abstract void work(); } package com.weir.mediator; public class AColleague extends Colleague{ public AColleague(Mediator mediator) { super(mediator); } @Override public void work() { System.out.println("A---->"); } } package com.weir.mediator; public class BColleague extends Colleague{ public BColleague(Mediator mediator) { super(mediator); } @Override public void work() { System.out.println("B-->"); } } package com.weir.mediator; public class MediatorImpl implements Mediator { private AColleague a; private BColleague b; public AColleague getA() { return a; } public BColleague getB() { return b; } @Override public void create() { a = new AColleague(this); b = new BColleague(this); } @Override public void doWork() { a.work(); b.work(); } } package com.weir.mediator; public class Client { public static void main(String[] args) { Mediator mediator = new MediatorImpl(); mediator.create(); mediator.doWork(); } } 是不是封装的很好,可以这样说,好几个设计模式都很好地体现了封装的特性。 封装的目的是什么就是让客户端调用起来方便而且还做到了隐蔽性,从而实现了安全性。