首页 > 其他分享 >合成/聚合复用原则

合成/聚合复用原则

时间:2022-09-21 11:55:24浏览次数:58  
标签:聚合 继承 子类 合成 复用 父类

合成/聚合复用原则

很多情况继承会带来麻烦:对象的继承关系是在编译时就定义好了,所以无法在运行时改变从父类继承的实现。子类的实现与它的父类有非常密切的依赖关系,以至于父类实现中的任何变化必然会导致子类发生变化。当需要复用子类时,如果继承下来的实现不适合解决新的问题,则父类必须重写或被其他更适合的类替换。这种依赖关系限制了灵活性并最终限制了复用性。

合成/聚合复用原则(CARP),尽量使用合成/聚合,尽量不要使用类继承。

合成(Composition)和聚合(Aggregation)都是关联的特殊种类。聚合表示一种弱的‘拥有关系’,体现的是A对象可以包含B对象,但B对象不是A对象的一部分;合成则是一种强的‘拥有’关系,体现了严格的部分和整体的关系,部分和整体的生命周期一样。

合成/聚合复用原则的好处:

优先使用对象的合成/聚合将有助于你保持每个类被封装,并被集中在单个任务上。这样类和类继承层次会保持较小规模,并且不太可能增长为不可控制的庞然大物。

标签:聚合,继承,子类,合成,复用,父类
From: https://www.cnblogs.com/kyzh-lhl/p/16714896.html

相关文章

  • 路由聚合示例
    原理不作介绍,前置掌握,仅示例常规题:212.56.132.0/24212.56.133.0/24212.56.134.0/24212.56.135.0/24流程:212.56.1000......
  • 面向对象的7种设计原则(4)-合成聚合复用原则
    合成复用原则在一个新的对象里面使用一些已有的对象,使之成为新对象的一部分;新的对象通过向这些对象的委派达到复用这些对象的目的。如果两个类是“Has-a”关系应使用合成......
  • 5 函数与代码复用
    一,函数的基本使用1.函数的定义函数是一段具有特定功能的,可重用的语句组,通过函数名来表示和调用。经过定义,一组语句等价与一个函数,在需要使用这组语句的地方,直接调用函数......
  • ElasticSearch聚合之管道聚合(Pipeline Aggregation)
    管道聚合让上一步聚合的结果作为下一个聚合的输入,类似stream()流的操作,当不上终结操作时,每次操作的流都作为下次操作的输入管道类型有很多种不同类型,每种类型都与其他聚......
  • jmeter聚合报告
    请求样本平均值最大值最小值中位数错误率吞吐量发送字节接收字节 ......
  • 第 15 题:简单讲解一下http2的多路复用
    在HTTP/1中,每次请求都会建立一次HTTP连接,也就是我们常说的3次握手4次挥手,这个过程在一次请求过程中占用了相当长的时间,即使开启了Keep-Alive,解决了多次连接的问题,但是......
  • 可容错安全聚合算法学习笔记
    目录参考文献安全聚合流程写在最前:在学习可容错安全聚合算法时,对其中的许多详细步骤不是特别清楚,遂将学习笔记记录下来,以作后期学习。若有不对请及时纠正。参考文献大......
  • Syntegra 的合成数据 API 入门 | Syntegra
    Syntegra的合成数据API入门|SyntegraSyntegra的SyntheticDataAPI的目标是让数据科学家、分析工程师和产品开发人员更容易访问患者级别的医疗保健数据。直接在......
  • Java开发学习(三十)----Maven聚合和继承解析
    一、聚合分模块开发后,需要将这四个项目都安装到本地仓库,目前我们只能通过项目Maven面板的install来安装,并且需要安装四个,如果我们的项目足够多,那么一个个安装起来还是......
  • 自定义聚合函数(统计每一个商品的四种行为出现次数)
    要求:统计每一个商品的四种行为出现次数案例packageSparkSQL.fun.projectimportorg.apache.spark.SparkConfimportorg.apache.spark.sql.expressions.{MutableAggre......