設計模式(十三) 外觀模式

2021-09-25 22:33:53 字數 1246 閱讀 4486

定義:

​ ·為子系統中一組介面提供乙個一致的介面,即定義乙個高層介面,增加子系統的易用性,隱藏系統的複雜性

​ ·這種模式涉及到乙個單一的類,該類提供了客戶端請求的簡化方法和對現有系統類方法的委託呼叫。

主要解決:

​ ·降低訪問複雜系統的內部系統的複雜度,簡化客戶端與之的介面

如何解決:

​ ·客戶端和複雜系統之間再加一層,這一層將呼叫順序、依賴關係等處理好,即為複雜的模組或子系統提供外界訪問的模組

以**為例:

​ 類圖關係如下

};facade將客戶端請求委託給適當的子系統物件和更易於使用的統一介面

class facade

void operation1()//子系統1

void operation2()//子系統2

// ...

private: //私有類成員為上面定義的三個介面

subsystema *subsystema;

subsystemb *subsystemb;

subsystemc *subsystemc;

// ...

};

int main()

執行結果:

subsystem a method

subsystem b method

subsystem c method

這樣就簡單實現了乙個外觀模式

外觀模式優缺點

優點:

​ 1、減少系統相互依賴。

​ 2、提高靈活性。

​ 3、提高了安全性。

缺點:

​ 1、不符合開閉原則,如果要改東西很麻煩,繼承重寫都不合適。

設計模式 外觀模式

外觀模式,我的理解就是將複雜的類進行重新封裝,將簡單的介面呈現出來,降低呼叫端和實際類的耦合性。拿 大話設計模式 上邊關於 和 的例子來說。對於不入門的股民來說,交易有些過於龐大,需要學習的東西很多,如果沒整明白就進行投資,很容易賠錢的。很多剛入 的股民都賠的很慘。而買 有提出了乙個新的觀念,我們買...

設計模式 外觀模式

何為外觀模式?外觀模式 為子系統中的一組介面提供乙個一致的介面,此模式定義了乙個高層介面,這個介面使得一子系統更加容易使用。它是一種結構型模式,它主要解決的問題是 元件的客戶和元件中各種複雜的子系統有了過多的耦合,隨著外部客戶程式和 各子系統的演化,這種過多的耦合面臨很多變化的挑戰。uml類圖 乙個...

設計模式 外觀模式

外觀模式說白了就是為一組介面提供乙個一致的介面。例如 定義三個類a b c,每個類各定義乙個方法。class a pubic void showa cout a showa pubic void showb cout b showb pubic void showc cout c showc 定義乙...