設計模式原則—合成/聚合復用原則(四)


  閱讀目錄

  一:合成/聚合復用原則

  二:什么是合成?

  三:什么是聚合?

  四:為什么盡量不要使用類繼承而使用合成/聚合?

  五:合成/聚合復用原則結構圖

  一:合成/聚合復用原則

  盡量使用合成/聚合,盡量不要使用類繼承

  二:什么是合成?

  . 合成表示一種強的擁有關系,體現了嚴格的部分和整體的關系,部分和整體的生命周期一樣,打個比方:人有兩個胳膊,胳膊和人就是部分和整體的關系,人去世了,那么胳膊也就沒用了,也就是說胳膊和人的生命周期是相同的

  . 合成關系用實心的菱形+實線來表示

  三:什么是聚合?

  . 聚合表示一種弱的擁有關系,體現的是A對象可以包含B對象,但是B對象並不是A對象的一部分,打個比方:人是群居動物,所以每個人屬於一個人群,一個人群可以有多個人,所以人群和人是聚合的關系

  . 聚合關系用空心的菱形+實線來表示

  四:為什么盡量不要使用類繼承而使用合成/聚合?

  . 對象的繼承關系在編譯時就定義好了,所以無法在運行時改變從父類繼承的子類的實現

  . 子類的實現和它的父類有非常緊密的依賴關系,以至於父類實現中的任何變化必然會導致子類發生變化

  . 當你復用子類的時候,如果繼承下來的實現不適合解決新的問題,則父類必須重寫或者被其它更適合的類所替換

  這種依賴關系限制了靈活性,並最終限制了復用性

  五:合成/聚合復用原則結構圖

  1和2以及n,被稱為基數,表示這一端的類可以有幾個實例,很顯然,一個人有兩個胳膊,如果一個類可能有無數個實例,則用n表示,一人群可能有無數個人

  

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM