今年十一國慶節,我呆在家裡美美的享受了一下家的溫馨。首先讓我來介紹一下我的家庭成員:
妻子(Wife)
女兒(Daughter)
我(Me)
我們都是家庭(Family)的一分子,我們是以家庭對外的。就象我們國家對外是以“中國”,外國人都稱我們是中國人,但在中國這個大家庭內部,包括了漢、回、蒙、。。。等56個民族一樣。
可見對外我們是要以統一的身份,或叫統一的外觀(Facade)進行展現。
好了言歸正傳。
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)類即可,而不用修改調用。
5、特別感謝: 感謝windcsn、flyingwind、ACDSee等眾多網友提出的寶貴意見,因此我把程序做了一些修改,希望更能說明問題。大家的支持是對我的最好的鼓勵,真心感謝!