1、 在这里,先定义家庭的各个成员类:
妻子(Wife):
public class Wife {
protected Wife() {
System.out.println("老婆伟大 !");
}
}
女儿(Daughter):
public class Daughter {
protected Daughter () {
System.out.println("女儿可爱 !");
}
}
我(Me):
public class Me {
protected Me() {
System.out.println("我爱我家 !");
}
}
2、定义家庭对外展现(FamilyOutShow)类:
public class FamilyOutShow {
public void MyFamily() {
Wife myWife = new Wife(); //我的老婆
Daughter myDaughter = new Daughter (); //我的女儿
Me me= new Me(); //我自己
}
}
3、编写测试类:
public class MyFamilyTest {
public static void main(String[] args) {
FamilyOutShow myFamily = new FamilyOutShow ();
myFamily.MyFamily();
}
}
4、说明:
A:Facade的定义: 为子系统中的一组接口提供一个一致的界面。
B:使用统一对外接口,可以降低系统的复杂性,增加了灵活性。
C:从例子中可以看到,外界只是访问了家庭对外展现(FamilyOutShow)类,而没有直接与成员类打交道。这样比如说增加了一个新的成员类(比如说儿子(Son)类),只要修改家庭对外展现(FamilyOutShow)类即可,而不用修改调用。
关键词:设计模式之Facade——家庭篇