设计模式之Facade——家庭篇 
  
今年十一国庆节,我呆在家里美美的享受了一下家的温馨。首先让我来介绍一下我的家庭成员: 
妻子(Wife) 
女儿(Daughter) 
我(My) 
我们都是家庭(Family)的一分子,我们是以家庭对外的。就象我们国家对外是以“中国”,外国人都称我们是中国人,但在中国这个大家庭内部,包括了汉、回、蒙、。。。等56个民族一样。 
可见对外我们是要以统一的身份,或叫统一的外观(Facade)进行展现。 
好了言归正传。 
1、  在这里,先定义家庭的各个成员类: 
妻子(Wife): 
public class Wife { 
  public Wife() { 
    System.out.println("老婆伟大 !"); 
  } 
} 
女儿(Daughter): 
public class Daughter { 
  public Daughter () { 
    System.out.println("女儿可爱 !"); 
  } 
} 
我(My): 
public class My { 
  public My () { 
    System.out.println("我爱我家 !"); 
  } 
} 
2、定义家庭对外展现(FamilyOutShow)类: 
public class FamilyOutShow { 
  public void MyFamily() { 
    Wife myWife = new Wife(); 
    Daughter myDaughter = new Daughter (); 
    My mySelf = new My(); 
  } 
} 
3、编写测试类: 
public class MyFamilyTest { 
  public static void main(String[] args) { 
      FamilyOutShow myFamily = new FamilyOutShow (); 
      myFamily.MyFamily(); 
  } 
} 
4、说明: 
A:Facade的定义: 为子系统中的一组接口提供一个一致的界面。 
B:使用统一对外接口,可以降低系统的复杂性,增加了灵活性。 
C:从例子中可以看到,外界只是访问了家庭对外展现(FamilyOutShow)类,而没有直接与成员类打交道。这样比如说增加了一个新的成员类(比如说儿子(Son)类),只要修改家庭对外展现(FamilyOutShow)类即可,而不用修改调用。 
   
 
  |