原文:設計原則:不要為了復用而使用繼承

背景 今天上午和以為朋友聊了一個設計問題:如何消除倉庫相關的單據的Repository中的重復邏輯 如:入庫單Repository和出庫單Repository之間的重復。可以有很多方式消除重復,在不同級別消除重復,如:繼承 組合 摻入 幫助類 幫助方法。本文只說出我的觀點:不要為了復用而使用繼承。 為什么要得出這個結論:在單實現繼承模型下,你復用了一個基類的實現,就不能復用其它基類的實現了,接口繼 ...

2013-08-23 13:11 13 3055 推薦指數:

查看詳情

設計模式-設計原則-合成復用原則

面向對象設計原則之合成復用原則 合成復用原則又稱為組合/聚合復用原則(Composition/Aggregate Reuse Principle, CARP),其定義如下: 合成復用原則 ...

Tue Aug 07 14:47:00 CST 2018 0 1592
設計模式之合成復用原則示例

  我們以汽車分類管理程序為例來介紹合成復用原則的應用。   分析:汽車按“動力源”划分可分為汽油汽車、電動汽車等;按“顏色”划分可分為白色汽車、黑色汽車和紅色汽車等。如果同時考慮這兩種分類,其組合就很多。如圖所示是用繼淨:關系實現的汽車分類的類圖。            從圖中可以看出 ...

Fri Mar 27 04:28:00 CST 2020 0 685
面向對象設計原則之六:合成/聚合復用原則

組合/聚集復用原則 組合/聚合復用原則(Composite/Aggregate Reuse Principle CARP).組合和聚合都是對象建模中關聯(Association)關系的一種.聚合表示整體與部分的關系,表示“含有”,整體由部分組合而成,部分可以脫離整體作為一個獨立的個體 ...

Wed Feb 08 21:45:00 CST 2012 2 9639
軟件架構設計原則之合成復用原則

合成復用原則(Composite/Aggregate Reuse Principle,CARP)是指盡量使用對象組合(has-a)/聚合(contanis-a)而不是繼承關系達到軟件復用的目的。可以使系統更加靈活,降低類與類之間的耦合度,一個類的變化對其他類造成的影響相對較少。 繼承叫作白箱復用 ...

Sun Oct 24 23:54:00 CST 2021 0 124
設計模式原則—合成/聚合復用原則(四)

  閱讀目錄   一:合成/聚合復用原則   二:什么是合成?   三:什么是聚合?   四:為什么盡量不要使用繼承而使用合成/聚合?   五:合成/聚合復用原則結構圖   一:合成/聚合復用原則   盡量使用合成/聚合,盡量不要使用繼承   二:什么是合成?   . 合成 ...

Mon Apr 09 21:18:00 CST 2012 0 8247
Java設計模式——合成/聚合復用原則

一、概念 合成/聚合復用原則是在一個新的對象里面使用一些已有的對象,使之成為新對象的一部分;新的對象通過向這些對象的委派達到復用已有功能的目的。 概括:要盡量使用合成/聚合,盡量不要使用繼承。 二、依賴和關聯 依賴是類與類之間的連接,表示一個類依賴於另外一個類的定義。依賴關系僅僅描述 ...

Tue Nov 13 04:51:00 CST 2018 0 1494
大話設計模式筆記 合成/聚合復用原則

聚合(Aggregation)表示一種弱的‘擁有’關系,體現的是A對象可以包含B對象但B對象不是A對象的一部分。 合成(Composition)則是一種強的'擁有'關系,體現了嚴格的部分和整體關系,部分和整體的生命周期一樣。 優先使用對象的合成/聚合將有助於你保持每個 ...

Mon Oct 05 17:23:00 CST 2015 1 1883
面向對象可復用設計幾大原則

1、開-閉 原則:指的是一個軟件實體應該對擴展開放,對修改關閉。用面向對象的語言來講就是:不允許修改的是系統的抽象層,允許擴展的是系統的具體實現層。 2、里氏代換原則:一個軟件實體如果使用的是一個基類的話,那么一定適用於其子類,而且它根本不能察覺出基類對象和子類對象的區別 ...

Fri Aug 18 23:40:00 CST 2017 0 1780
 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM