一、概念 合成/聚合復用原則是在一個新的對象里面使用一些已有的對象,使之成為新對象的一部分;新的對象通過向這些對象的委派達到復用已有功能的目的。 概括:要盡量使用合成/聚合,盡量不要使用繼承。 二、依賴和關聯 依賴是類與類之間的連接,表示一個類依賴於另外一個類的定義。依賴關系僅僅描述 ...
在閻宏博士的 JAVA與模式 一書中開頭是這樣描述合成 Composite 模式的: 合成模式屬於對象的結構模式,有時又叫做 部分 整體 模式。合成模式將對象組織到樹結構中,可以用來描述整體與部分的關系。合成模式可以使客戶端將單純元素與復合元素同等看待。 合成模式 合成模式把部分和整體的關系用樹結構表示出來。合成模式使得客戶端把一個個單獨的成分對象和由它們復合而成的合成對象同等看待。 比如,一個文 ...
2012-04-17 16:13 5 12791 推薦指數:
一、概念 合成/聚合復用原則是在一個新的對象里面使用一些已有的對象,使之成為新對象的一部分;新的對象通過向這些對象的委派達到復用已有功能的目的。 概括:要盡量使用合成/聚合,盡量不要使用繼承。 二、依賴和關聯 依賴是類與類之間的連接,表示一個類依賴於另外一個類的定義。依賴關系僅僅描述 ...
我們以汽車分類管理程序為例來介紹合成復用原則的應用。 分析:汽車按“動力源”划分可分為汽油汽車、電動汽車等;按“顏色”划分可分為白色汽車、黑色汽車和紅色汽車等。如果同時考慮這兩種分類,其組合就很多。如圖所示是用繼淨:關系實現的汽車分類的類圖。 從圖中可以看出 ...
一、里氏替換原則 如果說實現開閉原則的關鍵步驟就是抽象化,那么基類(父類)和子類的繼承關系就是抽象化的具體實現,所以里氏替換原則就是對實現抽象化的具體步驟的規范。即:子類可以擴展基類(父類)的 ...
橋接模式是一種結構型模式,它主要應對的是:由於實際的需要,某個類具有兩個或兩個以上的維度變化,如果只是用繼承將無法實現這種需要,或者使得設計變得相當臃腫。 橋接模式的做法是把變化部分抽象出來,使變化部分與主類分離開來,從而將多個維度的變化徹底分離。最后,提供一個管理類來組合 ...
在閻宏博士的《JAVA與模式》一書中開頭是這樣描述命令(Command)模式的: 命令模式屬於對象的行為模式。命令模式又稱為行動(Action)模式或交易(Transaction)模式。 命令模式把一個請求或者操作封裝到一個對象中。命令模式允許系統使用不同的請求把客戶端參數化,對請求 ...
在閻宏博士的《JAVA與模式》一書中開頭是這樣描述狀態(State)模式的: 狀態模式,又稱狀態對象模式(Pattern of Objects for States),狀態模式是對象的行為模式。 狀態模式允許一個對象在其內部狀態改變的時候改變其行為。這個對象看上去就像是改變了它的類一樣 ...
在閻宏博士的《JAVA與模式》一書中開頭是這樣描述調停者(Mediator)模式的: 調停者模式是對象的行為模式。調停者模式包裝了一系列對象相互作用的方式,使得這些對象不必相互明顯引用。從而使它們可以較松散地耦合。當這些對象中的某些對象之間的相互作用發生改變時,不會立即影響到其他的一些對象 ...
在閻宏博士的《JAVA與模式》一書中開頭是這樣描述單例模式的: 作為對象的創建模式,單例模式確保某一個類只有一個實例,而且自行實例化並向整個系統提供這個實例。這個類稱為單例類。 單例模式的結構 單例模式的特點: 單例類只能有一個實例。 單例類必須自己創建自己的唯一實例 ...