《設計模式之禪》 結構類模式大PK

2021-06-28 14:52:54 字數 516 閱讀 1521

裝飾模式就是**模式的乙個特殊應用,兩者的共同點是都具有相同的介面,不同點則是**模式著重對**過程的控制,而裝飾模式則是對類的功能進行加強或減弱,它著重類的功能變化。

**模式是把當前的行為或功能委託給其他物件執行,**類負責介面限定:是否可以呼叫真實角色,以及是否對傳送到真實角色的訊息進行變形處理,它不對被主題角色(也就是被**類)的功能做任何處理,保證原汁原味的呼叫。**模式使用到極致開發就是aop。

裝飾模式是在要保證介面不變的情況下加強類的功能,它保證的是被修飾的物件功能比原始物件豐富(當然,也可以減弱),但不做准入條件判斷和准入引數過濾,如是否可以執行類的功能,過濾輸入引數是否合規等,這不是裝飾模式關心的。

介面卡模式和裝飾模式在通用類圖上沒有太多的相似點,差別比較大,但是它們有相似的地方:都是包裝作用,都是通過委託方式實現其功能。不同點:裝飾模式包裝的是自己的兄弟類,隸屬於同乙個家族,介面卡則修飾非血緣關係類,把乙個非本家族的物件偽裝成本家族的物件,注意是偽裝,因此它的本質還是非相同介面的物件。

我們發現這兩個模式有較多的不同點。

《設計模式之禪》 設計模式大PK

建立類模式包括工廠方法模式 建造者模式 抽象工廠模式 單例模式和原型模式。其中單例模式要保持在記憶體中只有乙個物件,原型模式是要求通過複製的方式產生乙個新的物件。工廠方法 抽象工廠 vs 建造者模式 共產方法模式關注的是乙個產品整體,但在建造者模式中,乙個具體產品的產生是依賴各個部件的產生以及裝配順...

設計模式之結構類模式PK

結構類模式包括 介面卡模式 橋梁模式 組合模式 裝飾模式 門面模式 享元模式 模式 結構類模式著重於如何建立乙個軟體結構 為什麼叫結構類模式呢?因為他們都是通過組合類或物件產生更大結構以適應更高層次的邏輯需求.結構型模式是為解決怎樣組裝現有的類,設計他們的互動方式,從而達到實現一定的功能的目的。首先...

結構類模式大PK 總結

結構類模式包括介面卡模式 橋梁模式 組合模式 裝飾模式 門面模式 享元模式和 模式,它們都是通過組合類或物件產生更大結構以適應更高層次的邏輯需求。一 模式vs裝飾模式 模式把當前的行為或功能委託給其他物件執行,類負責介面限定 是否可以呼叫真實角色,以及是否對傳送到真實角色的訊息進行變形處理,它不對被...