設計模式 1 7外觀模式

2022-03-12 12:52:58 字數 783 閱讀 8361

外觀模式:為子系統中的一組介面提供乙個一致的介面, 外觀模式定義了乙個高層介面,這個介面使得這一子系統更加容易使用。

外觀模式應該是用的很多的一種模式,特別是當乙個系統很複雜時,系統提供給客戶的是乙個簡單的對外介面,而把裡面複雜的結構都封裝了起來。客戶只需使用這些簡單介面就能使用這個系統,而不需要關注內部複雜的結構。

1

class

scanner25

};6class

parser710

};11

class

genmidcode

1215

};16

class

genmachinecode

1720

};21

//高層介面

22class

compiler

2336 };

1

intmain()

2

這就是外觀模式,它有幾個特點(摘自dp一書),(1)它對客戶遮蔽子系統元件,因而減少了客戶處理的物件的數目並使得子系統使用起來更加方便。(2)它實現了子系統與客戶之間的松耦合關係,而子系統內部的功能元件往往是緊耦合的。(3)如果應用需要,它並不限制它們使用子系統類。

結合上面編譯器這個例子,進一步說明。對於(1),編譯器類對客戶遮蔽了子系統元件,客戶只需處理編譯器的物件就可以方便的使用子系統。對於(2),子系統的變化,不會影響到客戶的使用,體現了子系統與客戶的松耦合關係。對於(3),如果客戶希望使用詞法分析器,只需定義詞法分析的類物件即可,並不受到限制。

設計模式 外觀模式

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

設計模式 外觀模式

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

設計模式 外觀模式

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