Golang設計模式 22裝飾者模式

2022-09-11 04:45:18 字數 2521 閱讀 5234

其他設計模式

是指在不改變原有物件的基礎之上,將功能附加到物件上.提供了比繼承更靈活的替代方法,屬於結構型模式

動態的給乙個物件增加一些額外的職責,就增加功能來說,裝飾模式相比生產子類更為靈活

使用裝飾模式進行系統設計時將產生很多小物件,這些物件的區別在於它們之間相互連線的方式有所不同,而不是它們的類或者屬性值有所不同,大量小物件的產生勢必會占用更多的系統資源,在一定程式上影響程式的效能。

裝飾模式提供了一種比繼承更加靈活機動的解決方案,但同時也意味著比繼承更加易於出錯,排錯也很困難,對於多次裝飾的物件,除錯時尋找錯誤可能需要逐級排查,較為繁瑣。

用於拓展乙個類的功能或者給乙個類新增附加職責

動態的給乙個物件新增功能,這些功能可以再動態的撤銷。

需要為一批的兄弟類進行改裝或加裝功能。

設計模式git源**

00簡單工廠模式

01工廠方法模式

02抽象工廠模式

03外觀模式

04建造者模式

05橋接模式

06命令模式

07迭代器模式

08模板模式

09訪問者模式

10備忘錄模式

11責任鏈模式

12中介模式

13原型模式

14狀態模式

15策略模式

16享元模式

17組合模式

18直譯器模式

19單例模式

20介面卡模式

21**模式

22裝飾器模式

23觀察者模式

22種設計模式 裝飾者模式

裝飾模式是一種結構型設計模式,允許你通過將物件放入包含行為的特殊封裝物件中來為原物件繫結新的行為。注意,裝飾模式和橋接模式很相似,沒學過橋接模式的小夥伴,可以看這篇部落格 22種設計模式 橋接模式。裝飾者模式和橋接模式的出發點都是一樣的,都是為了解決類 的問題,先講下這個問題 舉個例子,比如星巴克賣...

裝飾者設計模式

裝飾者模式 動態地給乙個物件新增一些額外的職責,就增加功能來說,decorator模式比生成子類更為靈活。讓decorator物件為自己新增功能。有時候使用concretecomponent的派生類提供核心功能,在這種情況就是用concretecomponent替代了component的功能,而且裝...

裝飾者設計模式

package 模式練習部分 首先建立,手機介面,然後建立最基本功能的手機,也就是只有接 功能的手機,然後在這個基礎上在設計乙個裝飾類 開始具體的裝飾過程,按照本例中的步驟,下面要做的就是對於具體裝飾者的建立,先有彩鈴,然後開始接 然後在接完 以後,沒有什麼其他的事情了,開始看會兒電視休息一下。建立...