4 裝飾模式

2021-07-22 10:23:58 字數 441 閱讀 9957

定義:動態地給乙個物件新增乙個格外的職責,就增加功能來說,裝飾模式比生成子類更為靈活。jdk裡的i/o

1.component抽象父類:乙個物件介面,可以給這些物件動態地新增職責。

2.concretecomponent具體的裝飾物件:繼承了component,也可以給這個物件新增一些職責。

3.decorator裝飾抽象父類:繼承了component,從外類來擴充套件component類的功能,但對於component來說,是無需知道decorator的存在的。在此類中定義乙個component屬性,並提供setcomponent()方法。

4.concretedecorator具體的裝飾物件:繼承了decorator,起到給component新增職責的功能。

例子:比如給人穿衣服 。比如加密資料和過濾詞彙都可以試資料持久化前的裝飾功能,裝飾的順序很重要。

4 裝飾器模式 Decorator

裝飾器模式 decorator 優點 比靜態繼承更加靈活 介面和被裝飾的類保持一致,對client無感 使用起來就像沒有修飾易用性 可以產生疊加效果 可以重複修飾乙個物件,也可以使用不同的裝飾器修飾相同的物件,產生疊加效果 可以作為aop的簡單實現,在呼叫被修飾物件之前可以呼叫其他功能 缺點 1.產...

設計模式4 裝飾器模式Decorator

裝飾器模式屬於 單一職責 模式.在軟體元件的設計中,如果責任劃分不清晰,使用繼承得到的結果,往往是隨著需求的變化,子類急劇膨脹,同時充斥著重複 這是 的bad smell.典型的單一職責模式 decorator,bridge.這兩種模式表現出了很強的 單一職責模式的味道 本文中我們討論decorat...

設計模式考前預習 4 裝飾模式

裝飾模式 需要把所需的功能按正確的順序串聯起來進行控制。裝飾模式 動態的給乙個物件新增一些額外的職責,就增加功能來說,裝飾模式比生成子類更為靈活。裝飾模式是為已有功能動態的新增更多功能的一種方式。小菜穿衣服為例子 首先是穿上衣的小菜,後來只加褲子鞋子即可 而不是乙個乙個蹦躂,上衣 褲子 鞋子 的小菜...