中介者模式
package behaviroal.media;
/**
* 中介者模式
*
* 中介者知道所有的同事对象,MVC中的控制器
*优点
*避免同事对象之间的过度耦合,使得中介类和同事类可以相对独立演化
*将对象的行为和协作抽象化,把对象的行为与其他对象的相互作用分开处理
*缺点
*降低了同事对象的复杂性,代价是增加了中介者的复杂性,在很多情况下并不一定更好
*中介者类中充满了各个具体同事类的关系协调代码,这些代码经常是不能复用的,同事类的复用是以中介者的不可复用为代价
*
* @author zhangchy
*
*/
class Japanese{
public void export(){
System.out.println("日本出口");
}
public void imports(){
System.out.println("日本进口");
}
}
class Chinese{
public void export(){
System.out.println("中国出口");
}
public void imports(){
System.out.println("中国进口");
}
}
class Amarican{
public void export(){
System.out.println("美国出口");
}
public void imports(){
System.out.println("美国进口");
}
}
//中介者
class WTO{
private Japanese j = new Japanese();
private Chinese c = new Chinese();
private Amarican a = new Amarican();
public void trade(){
c.export();
j.imports();
a.imports();
}
}
public class MaditorPattern {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
WTO wto = new WTO();
wto.trade(); }
}
浙公网安备 33010602011771号