結構類模式大PK 總結

2021-06-23 08:44:13 字數 731 閱讀 9534

結構類模式包括介面卡模式、橋梁模式、組合模式、裝飾模式、門面模式、享元模式和**模式,它們都是通過組合類或物件產生更大結構以適應更高層次的邏輯需求。

一、**模式vs裝飾模式

**模式把當前的行為或功能委託給其他物件執行,**類負責介面限定:是否可以呼叫真實角色,以及是否對傳送到真實角色的訊息進行變形處理,它不對被**類的功能做任何處理,保證原汁原味的呼叫。**模式使用到極致開發就是aop,這是採用spring架構開發必然要使用到的技術,它就是使用了**和反射技術。

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

二、裝飾模式vs介面卡模式

1、意圖不同

裝飾模式的意圖是加強物件的功能,它不改變類的行為和屬性,只是增加/減少功能;而介面卡模式關注的則是轉化,它的主要意圖是兩個不同物件之間的轉化,關注轉換。

2、施與物件不同

裝飾模式裝飾的物件必須是自己的同宗,也就是相同的介面或父類,只要在具有相同的屬性和行為的情況下,才能比較行為是增加還是減弱;介面卡模式則必須是兩個不同的物件,因為它著重於轉換,只有兩個不同的物件才有轉換的必要,如果是相同的物件還轉換什麼!

3、擴充套件性不同

裝飾模式很容易擴充套件,可有可無。而介面卡模式就不同了,它是兩個不同物件之間架起的一座溝通的橋梁,建立容易,去掉就比較困難了,需要從系統整體考慮是否能夠撤銷。

結構類模式大PK 總結

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

建立類模式大PK 總結

建立類模式包括工廠方法模式 建造者模式 抽象工廠模式 單例模式和原型模式,它們都能夠提供物件的建立和管理職責。其中的單例模式和原型模式非常容易理解,單例模式是要保持在記憶體中只有乙個物件,原型模式是要求通過複製的方式產生乙個新物件,這兩個不容易混淆。下面主要分析其它三種模式。一 工廠方法模式vs建造...

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

裝飾模式就是 模式的乙個特殊應用,兩者的共同點是都具有相同的介面,不同點則是 模式著重對 過程的控制,而裝飾模式則是對類的功能進行加強或減弱,它著重類的功能變化。模式是把當前的行為或功能委託給其他物件執行,類負責介面限定 是否可以呼叫真實角色,以及是否對傳送到真實角色的訊息進行變形處理,它不對被主題...