我们以汽车分类管理程序为例来介绍合成复用原则的应用。

  分析:汽车按“动力源”划分可分为汽油汽车、电动汽车等;按“颜色”划分可分为白色汽车、黑色汽车和红色汽车等。如果同时考虑这两种分类,其组合就很多。如图所示是用继淨:关系实现的汽车分类的类图。

        设计模式之合成复用原则示例

  从图中可以看出用继承关系实现会产生很多子类,而且增加新的“动力源”或者增加新的“颜色”都要修改源代码,这违背了开闭原则,显然不可取。但如果改用组合关系实现就能很好地解决以上问题,其类图如下图所示。 

              设计模式之合成复用原则示例

相关文章:

  • 2021-09-29
  • 2022-02-28
  • 2022-02-24
  • 2021-08-15
  • 2021-09-25
  • 2021-08-12
  • 2021-08-29
  • 2022-01-06
猜你喜欢
  • 2021-08-23
  • 2022-01-21
  • 2022-02-02
  • 2021-08-26
  • 2021-11-25
  • 2021-09-21
  • 2021-07-31
相关资源
相似解决方案