zoukankan      html  css  js  c++  java
  • 《设计模式》-原则五:合成/聚合复用原则(CARP)

      这个也好理解 ,这个合成/聚合复用原则指的是在一个新的对象里面使用一些已有的对象,使其成为新对象的一部分。新对象通过委派达到复用已有功能的效果。

      说到这里要讲提及到“Has-A” 和“Is-A”的区别:

      Has-A:表示某一个角色具有某一项责任。

      Is-A:表示一个类是另一个类的一种。

      

      看看这一个原则听好理解的哈,因为我也经常在做功能提取,比如提取一些公共的算法什么的。最后达到复用的目的,从而避免了复制代码。

      可这里所说的意思好像要在我这个之上,这里的意思是针对一个个的对象,我们可以把某一个业务元素当作是一个个的对象,假如又有一个对象里面具备了其他对象,那么就可以通过聚合的形式进行耦合。在设计模式中尽量使用聚合关系不要使用继承。

      举个例子还是会有助于理解哈:比如一个人可以是学生也可以是经理而“学生”和“经理”都可以成为某公司的“雇员”,这里就可以来理解一下Has-A和Is-A了 学生和经理都是人的一种 那么他们与人的关系就是 Is-A 的关系,而 雇员是人的一个属性 所以 雇员与人之间是 Has-A 的关系,如果聚合复用原则来设计的话关系图如下:(终于可以看到图了 是不是很开心?)

  • 相关阅读:
    函数方法与面向对象
    seleniums私房菜系列一 ---- selenium简介
    MySQL图形化管理工具
    存储引擎
    mysql自定义函数
    加密函数
    mysql聚合函数
    mysql信息函数
    mysql日期时间函数(常用的)
    mysql比较运算符和函数
  • 原文地址:https://www.cnblogs.com/zyj469470971/p/3172471.html
Copyright © 2011-2022 走看看