外觀模式(Fa ade)

2021-09-06 06:06:30 字數 585 閱讀 7302

1 概述

當你開發系統時,遇到這樣的問題:

1>分層開發時,底層的多個類相互協作完成一些複雜的功能,高層的開發人員也必須要知道這些底層類是如何協作完成功能,這樣做合理嗎

2>在開發系統時,需要用到已有的舊系統中的功能,面對那些雜亂無章的**、邏輯我們怎麼辦,難道要每一位開發人員都去面對嗎

當遇到這些問題,在物件導向的世界裡,我們是如何解決——外觀模式

2 gof

意圖為子系統中的一組介面提供乙個一致的介面,facade模式定義了乙個高層介面,這個介面使得這一子系統更加容易使用。[gof 《設計模式》]

結構圖

3 理解

subsystem:複雜的子系統,其中的類關係複雜,模擬較多;

client:高層客戶**

façade:聚合子系統中的類

這樣,原來客戶**是直接與子系統互動,現在它們之間的互動都控制在了façade類,解耦了高層**與低層**。

設計模式 外觀模式

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

設計模式 外觀模式

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

設計模式 外觀模式

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