設計模式之合成復用原則示例


  我們以汽車分類管理程序為例來介紹合成復用原則的應用。

  分析:汽車按“動力源”划分可分為汽油汽車、電動汽車等;按“顏色”划分可分為白色汽車、黑色汽車和紅色汽車等。如果同時考慮這兩種分類,其組合就很多。如圖所示是用繼淨:關系實現的汽車分類的類圖。

        

  從圖中可以看出用繼承關系實現會產生很多子類,而且增加新的“動力源”或者增加新的“顏色”都要修改源代碼,這違背了開閉原則,顯然不可取。但如果改用組合關系實現就能很好地解決以上問題,其類圖如下圖所示。 

              


免責聲明!

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



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