面向對象設計原則之合成復用原則 合成復用原則又稱為組合/聚合復用原則(Composition/Aggregate Reuse Principle, CARP),其定義如下: 合成復用原則 ...
背景 今天上午和以為朋友聊了一個設計問題:如何消除倉庫相關的單據的Repository中的重復邏輯 如:入庫單Repository和出庫單Repository之間的重復。可以有很多方式消除重復,在不同級別消除重復,如:繼承 組合 摻入 幫助類 幫助方法。本文只說出我的觀點:不要為了復用而使用繼承。 為什么要得出這個結論:在單實現繼承模型下,你復用了一個基類的實現,就不能復用其它基類的實現了,接口繼 ...
2013-08-23 13:11 13 3055 推薦指數:
面向對象設計原則之合成復用原則 合成復用原則又稱為組合/聚合復用原則(Composition/Aggregate Reuse Principle, CARP),其定義如下: 合成復用原則 ...
我們以汽車分類管理程序為例來介紹合成復用原則的應用。 分析:汽車按“動力源”划分可分為汽油汽車、電動汽車等;按“顏色”划分可分為白色汽車、黑色汽車和紅色汽車等。如果同時考慮這兩種分類,其組合就很多。如圖所示是用繼淨:關系實現的汽車分類的類圖。 從圖中可以看出 ...
組合/聚集復用原則 組合/聚合復用原則(Composite/Aggregate Reuse Principle CARP).組合和聚合都是對象建模中關聯(Association)關系的一種.聚合表示整體與部分的關系,表示“含有”,整體由部分組合而成,部分可以脫離整體作為一個獨立的個體 ...
合成復用原則(Composite/Aggregate Reuse Principle,CARP)是指盡量使用對象組合(has-a)/聚合(contanis-a)而不是繼承關系達到軟件復用的目的。可以使系統更加靈活,降低類與類之間的耦合度,一個類的變化對其他類造成的影響相對較少。 繼承叫作白箱復用 ...
閱讀目錄 一:合成/聚合復用原則 二:什么是合成? 三:什么是聚合? 四:為什么盡量不要使用類繼承而使用合成/聚合? 五:合成/聚合復用原則結構圖 一:合成/聚合復用原則 盡量使用合成/聚合,盡量不要使用類繼承 二:什么是合成? . 合成 ...
一、概念 合成/聚合復用原則是在一個新的對象里面使用一些已有的對象,使之成為新對象的一部分;新的對象通過向這些對象的委派達到復用已有功能的目的。 概括:要盡量使用合成/聚合,盡量不要使用繼承。 二、依賴和關聯 依賴是類與類之間的連接,表示一個類依賴於另外一個類的定義。依賴關系僅僅描述 ...
聚合(Aggregation)表示一種弱的‘擁有’關系,體現的是A對象可以包含B對象但B對象不是A對象的一部分。 合成(Composition)則是一種強的'擁有'關系,體現了嚴格的部分和整體關系,部分和整體的生命周期一樣。 優先使用對象的合成/聚合將有助於你保持每個 ...
1、開-閉 原則:指的是一個軟件實體應該對擴展開放,對修改關閉。用面向對象的語言來講就是:不允許修改的是系統的抽象層,允許擴展的是系統的具體實現層。 2、里氏代換原則:一個軟件實體如果使用的是一個基類的話,那么一定適用於其子類,而且它根本不能察覺出基類對象和子類對象的區別 ...