定義:為對外提供一組介面的子系統提供乙個統一的介面,使得其他系統對該系統的訪問都通過這個統一的介面來完成。
優點:通過統一對外介面訪問系統,避免了外部系統和子系統之間的直接聯絡從而降低了系統間的依賴和複雜度。
缺點:限制了外部系統對子系統的靈活呼叫。
使用時機:當乙個複雜的系統需要對外提供介面時,就需要將對外提供的介面同一封裝在乙個外觀類裡,供外系統使用。
下面舉例說明外觀模式的應用:
小鞏公司的內部網是由其他人負責設計的,而小鞏需要設計人力資源系統。內部網需要人力資源系統提供人員的相關資訊。人力資源系統雖然有相關介面,但是分布在不同的程式**裡,不適合直接對外服務。這時候需要乙個統一的類來提供對外的介面。
相關**
public
class
subsystem1
public
class
subsystem2
public
inte***ce
facade
public
class
concretefacade
implements
facade
public
void
operation2()
}//外部系統呼叫介面
public
class
othersystem
}
設計模式應用場景
設計模式應用場景 1 command 建立和執行事務 實體上的解耦 時間上的解耦 undo方法 2 active object模式 該模式與command模式結合 實現多執行緒控制的一項古老的技術,為許多任務業系統提供了乙個簡單的多工核心。3 template method 與 strategy 分...
設計模式的應用場景 2 工廠相關模式
定義 簡單工廠模式又叫做靜態工廠模式,它定義乙個具體的工廠類來 負責建立一些類的例項,而這些被建立的類應該有乙個共同的父類,這樣就可以面向抽象而不是面向具體程式設計。說明 不屬於23種gof設計模式 工廠方法一般設成靜態方法,返回值一般是抽象類或介面,具體的產品類一般繼承或實現抽象類 介面 優點 產...
單利模式應用場景
單例模式應用的場景一般發現在以下條件下 1 資源共享的情況下,避免由於資源操作時導致的效能或損耗等。如上述中的日誌檔案。2 控制資源的情況下,方便資源之間的互相通訊。如執行緒池等。python 1 python 的模組就是天然的單例模式,因為模組在第一次匯入時,會生成 pyc 檔案,當第二次匯入時,...