净谦

导航

中介者模式

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(); }

}

posted on 2012-03-15 10:35  康安V  阅读(142)  评论(0)    收藏  举报