設計模式之外觀模式。
外觀模式的作用:為複雜的系統提供高層的介面。
程式這個東西總是會變的越來越大。隨著時間的推移,程式中的類會越來越多,而且它們之間相互關聯,這會導致程式結構也變得越來越複雜。隨之也會使得我們在使用這些類之前,必須弄清楚它們之間的關係,注意正確的呼叫順序。
特別是在呼叫大型的程式進行處理時,我們需要格外注意哪些數量龐大的類之間錯綜複雜的關係。不過,與其這麼做,不如為這個大型程式準備乙個「介面」。這樣,我們就不必單獨地關注每個類了,只需要簡單地對「介面」提出請求即可。
上面說的這個「介面」就是facade模式。
使用facade模式可以為相互關聯在一起的錯綜複雜的類整理出高層介面。其中的facade角色可以讓系統對外只有乙個簡單的介面。而且,facade角色還會考慮到系統內部各個類之間的責任關係和依賴關係,按照正確的順序呼叫個各類。
示例**如下:
#include
using namespace std;
//外觀模式
//為子系統提供一套統一的介面,讓客戶更加容易使用子系統。
class subsystema
~facade()
void dosomething()
private:
subsystema* psuba;
subsystemb* psubb;
subsystemc* psubc;
};int main()
執行程式,執行結果如下圖所示:
該模式在具體的程式庫中使用的例子如下(後續補充):
外觀模式(Facade)
外觀模式的定義是,為子系統中的一組介面提供乙個一致的inte ce介面介面。外觀模式是個很簡單,但很重要的模式,它主要思想是將表現層和邏輯層隔離,封裝底層的複雜處理,只為使用者提供簡單的介面,這樣的例子隨處可見。外觀模式也叫門面模式,它很多時候更是一種系統架構的設計,在我所做的專案中,就實現了門面模...
Facade外觀模式
facade外觀模式,是一種結構型模式,它主要解決的問題是 元件的客戶和元件中各種複雜的子系統有了過多的耦合,隨著外部客戶程式和各子系統的演化,這種過多的耦合面臨很多變化的挑戰。facade設計模式更注重從架構的層次去看整個系統,而不是單個類的層次。facade外觀模式,是一種結構型模式,它主要解決...
Facade外觀模式
facade外觀模式,是一種結構型模式,它主要解決的問題是 元件的客戶和元件中各種複雜的子系統有了過多的耦合,隨著外部客戶程式和各子系統的演化,這種過多的耦合面臨很多變化的挑戰。在這裡我想舉乙個例子 比如,現在有一輛汽車,我們 客戶程式 要啟動它,那我們就要發動引擎 子系統1 使四個車輪 子系統2 ...