基本概念
外觀模式(facade),為子系統中的一組介面提供乙個一致的介面,此模式定義了乙個高層介面,這個介面使得這一子系統更加容易使用
uml類圖
subsystemone
public classsubsystemone
}public classsubsystemtwo
}public classsubsystemthree
}public classsubsystemfour
}
外觀類:façade 它需要了解所有的子系統的方法或屬性,進行組合,以備外界呼叫
public class facade
public void invokemethoda()
public void invokemethodb()
}
客戶端**:
public class facadeclient
}
使用場景:4.1 在設計初期階段,應該要有意識的將不同的兩個層分離,比如經典的三層構架,就需要考慮在資料訪問層和業務邏輯層,業務邏輯層和表示層的層與層之間建立外觀facade,這樣可以為複雜的子系統提供乙個簡單的介面,使得耦合大大降低。
4.2 在開發階段,子系統往往因為不斷的重構演化而變得越來越複雜,大多數的模式使用時也都會產生很多很小的類,這本是好事,但也給外部呼叫它們的使用者程式帶來了使用上的困難,增加外觀facade可以提供乙個簡單的介面,減少它們之間的依賴。
4.3 在維護乙個遺留的大型系統時,可能這個系統已經非常難以維護和擴充套件了,但因為它包含非常重要的功能,新的需求開發必須依賴於它。此時用外觀模式facade也是非常合適的。例如可以開發乙個外觀facade類,來提供設計粗糙或高度複雜的遺留**的比較清晰簡單的介面,讓新系統與facade物件互動,facade與遺留**互動所有複雜的工作。
Java 設計模式之外觀模式
一 了解外觀模式 1.1 什麼是外觀模式 外觀模式 facade pattern 提供了乙個統一的介面,用來訪問子系統中的一群介面。外觀定義了乙個高層介面,讓子系統更容易使用。想要使用外觀模式,我們需要建立乙個介面來簡化和統一包裝乙個子系統的乙個或多個類。外觀模式允許我們讓客戶和子系統之間避免緊耦合...
JAVA設計模式之外觀模式
外觀模式提供統一的介面,用來訪問子系統中的一群介面。外觀定義了乙個高層介面,讓子系統更容易使用。注 乙個子系統可以建立多個外觀類 最少知識原則 只和你的密友交談 也就是要減少物件之間的互動,只留下幾個 密友 這個原則可以避免太多的類耦合在一起,導致修改系統中一部分時會影響到其他部分,這樣這個系統需要...
Java設計模式之外觀模式
當系統擁有多個子系統的時候,為了方便客戶使用,結構上封裝一層統一呼叫的外觀,這種模式叫做外觀模式。需求 開機關機的時候,對功能進行封裝 啟動電腦 按一下電源鍵 啟動cpu 啟動記憶體 啟動硬碟 關閉電腦 按一下電源鍵 關閉硬碟 關閉記憶體 關閉cpu 定義cpu類 記憶體類 硬碟類,分別都具有啟動和...