本小結本身和書上沒有啥大差異。只是自己理解認同的精簡,由多到小的表現。
adapte適配器 & bridge橋
兩者相同點在於提供一致穩定抽象接口表示,提供了靈活性。
主要是生命週期階段不同:
adapte適配器是對已有的進行連接。是實現後。
bridge橋是設計中,design stage實現與抽象接口分離,適應演化。
composite組合 & Decorator裝飾
兩者從結構上看挺像的,有點遞歸的意思。但是本質上是不用創建新類來實現新功能的對象。說明類機制本身存在不足。
兩者主要是目的不同,Decorator裝飾主要目的是爲一個對象動態添加新功能,特性。
composite組合是樹狀結構,目的在於表示,多重對象可以當成一個對象處理。適合嵌套的概念。比如GUI框。
proxy代理
主要是一種靜態關係的表示。很抽象,反過來很強大。
具體可以是location位置關係。比如中間人。也可以是接口關係,從這個角度看adapte適配器 & bridge橋是用了proxy代理設計模式。
總結一下:
就會發現,結構模式少得可憐。
實現新功能的對象只有2種結構模式。
而結構關係只有一種:代理。在實現上只有2種選擇,而這兩種只是在生命週期階段不同。
它們的存在說明類的設計方法存在不完備,非要用類解決問題,帶來了巨大的開銷。就像在實數域解決一些數學問題,非常費勁,而在複數域就很優雅。