程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> JAVA編程 >> 關於JAVA >> 設計模式之Facade——家庭篇

設計模式之Facade——家庭篇

編輯:關於JAVA

今年十一國慶節,我呆在家裡美美的享受了一下家的溫馨。首先讓我來介紹一下我的家庭成員:

妻子(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等眾多網友提出的寶貴意見,因此我把程序做了一些修改,希望更能說明問題。大家的支持是對我的最好的鼓勵,真心感謝!

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved