合成/聚合復用原則,盡量使用合成/聚合,盡量不要使用類繼承。聚合(aggregation)表示一種弱的『擁有』關係,體現的是a物件可以包含b物件但b物件不是a物件的一部分。
合成(composition)則是一種強的'擁有'關係,體現了嚴格的部分和整體關係,部分和整體的生命週期一樣。
優先使用物件的合成/聚合將有助於你保持每個類被封裝,並被集中在單個任務上,這樣類和類繼承層次會保持較小規模,而且不太可能增長為不可控制的龐然大物。
繼承是一種強耦合的結構。子類隨父類改變而改變,一定要在是『is-a』的關係在考慮使用。
橋接模式(bridge),將抽象部分與它實現部分分離,使它們都可以獨立地變化。
packagebridge;
public
abstract
class
imp
packagebridge;
public
class concreteimpa extends
imp
}
packagebridge;
public
class concreteimpb extends
imp
}
packagebridge;
public
abstract
class
imp
package實現系統可能有多角度分類,每一種分類都有可能變化,那麼就把這種多角度分離出來讓它們獨立變化,減少它們之間的耦合。bridge;
public
class refinedabstraction extends
abstraction
}
設計模式原則 合成 聚合復用原則(四)
閱讀目錄 一 合成 聚合復用原則 二 什麼是合成?三 什麼是聚合?四 為什麼盡量不要使用類繼承而使用合成 聚合?五 合成 聚合復用原則結構圖 一 合成 聚合復用原則 盡量使用合成 聚合,盡量不要使用類繼承 二 什麼是合成?合成表示一種強的擁有關係,體現了嚴格的部分和整體的關係,部分和整體的生命週期一...
設計模式 合成 聚合復用原則的區別簡單分析
合成 聚合復用原則,盡量使用合成 聚合,盡量不要使用類繼承 合成和聚合都是關聯的特殊種類 聚合表示一種弱的 擁有 關係,體現的是a物件可以包含b物件,但b物件不是a物件的一部分 合成則是一種強的 擁有 關係,體現了嚴格的部分和整體的關係,部分和整體的生命週期一樣 比如 大雁有兩個翅膀,翅膀與大雁就是...
設計模式之合成復用原則
1.合成 聚合復用原則 盡量優先使用合成 聚合,盡量不要使用類繼承。盲目使用繼承會造成麻煩。所以在使用繼承時,一定要在是 is a 的關係時,再考慮使用。手機軟體顯然不是乙個,即不是 a,所以不能從手機品牌向下繼承。如下圖是不對的。聚合 表示一種弱的 擁有 關係,體現的是 a物件可以包含 b物件,但...