結構類模式包括: 結構類模式著重於如何建立一個軟體結構 為什麼叫結構類模式呢? 因為他們都是通過組合類或對象產生更大結構以適應更高層次的邏輯需求. 結構型模式是為解決怎樣組裝現有的類,設計他們的交互方式,從而達到實現一定的功能的目的。 代理模式VS裝飾模式 首先,裝飾模式就是代理模式的一個特殊應用, ...
結構類模式包括:
- 適配器模式
- 橋梁模式
- 組合模式
- 裝飾模式
- 門面模式
- 享元模式
- 代理模式
結構類模式著重於如何建立一個軟體結構
為什麼叫結構類模式呢? 因為他們都是通過組合類或對象產生更大結構以適應更高層次的邏輯需求.
結構型模式是為解決怎樣組裝現有的類,設計他們的交互方式,從而達到實現一定的功能的目的。
代理模式VS裝飾模式
首先,裝飾模式就是代理模式的一個特殊應用,兩者的共同點是都具有相同的介面,不同點是代理模式著重對代理過程的控制,而裝飾模式則是對類的功能進行加強或減弱,著重類的功能變化.
代理模式是把當前的行為或功能委托給其他對象執行,代理類負責介面限定: 是否可以調用真實角色,以及是否對發送到真實角色的消息進行變形處理,它不對被代理類的功能做任何處理,保證原汁原味的調用. 代理模式使用到極致開發就是AOP.
裝飾模式是在要保證介面不變的情況下加強類的功能,它保證的是被修飾的對象功能比原始對象豐富,但不做準入條件判斷和準入參數過濾,如是否可以執行類的功能等, 這不是裝飾模式關心的
裝飾模式VS適配器模式
裝飾模式和適配器模式雖然差別比較大, 但是他們功能有相似的地方: 都是包裝作用,都是通過委托方式實現其功能. 不同的是:裝飾模式包裝的是自己的像地雷,隸屬於同一個家族(相同介面或父類),適配器模式則修飾非血緣關係類,把一個非本家族的對象偽裝成本家族的對象.
裝飾模式和適配器模式區別如下:
- 意圖不同. 裝飾模式的意圖是加強對象的功能, 而適配器模式關註的是轉化, 它的主要意圖是兩個不同對象之間的轉化.
- 施與對象不同. 裝飾模式裝飾的對象必須是自己的同宗, 也就是相同的介面或父類; 適配器模式則必須是兩個不同的對象, 因為它著重於轉換
- 場景不同. 裝飾模式在任何時候都可以使用, 只要是想增加類的功能; 而適配器模式 則是一個補救模式,一般出現在系統成熟或已經構建完畢的項目中,作為一個緊急處理手段採用.
- 擴展性不同. 裝飾模式很容易擴展. 但是適配器模式在兩個不同對象之間架起了一座溝通的橋梁, 建立容易,去掉就比較困難了,需要從系統整體考慮是否能夠撤銷.