首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> Java 程式設計 >> Java 相關知識

設計模式輕鬆懂:外觀模式 (Facade) —— 以「我家」為例

     編輯:Java 相關知識

生活場景:家庭對外統一形象

國慶宅家時想到:家庭成員有妻子、女兒、我。對外我們是統一的「這個家」,就像國家對外叫「中國」,內部包含 56 個民族。這就是外觀模式:為子系統群提供一個統一、高層的介面,降低外部調用複雜度。

代碼實現

// 子系統角色
class Wife { protected Wife() { System.out.println("老婆偉大!"); } }
class Daughter { protected Daughter() { System.out.println("女兒可愛!"); } }
class Me { protected Me() { System.out.println("我愛我家!"); } }

// 外觀角色:統一對外入口
class FamilyOutShow {
    public void myFamily() {
        new Wife();
        new Daughter();
        new Me();
    }
}

// 客戶端
public class MyFamilyTest {
    public static void main(String[] args) {
        new FamilyOutShow().myFamily();
    }
}

模式優勢

  1. 降低耦合:客戶端僅依賴 FamilyOutShow,不直接依賴具體成員類。
  2. 擴展靈活:新增兒子 (Son) 類,只需修改 FamilyOutShow,客戶端代碼完全不動。
  3. 簡化介面:隱藏內部複雜交互,提供單一入口。

結語

外觀模式不創造新功能,而是提供一個「好用的門面」。下次見到「一鍵啟動」、「統一入口」,背後大概率就是它。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved