文章正文

依赖、关联、 聚合、组合的区别

【文章】2020-04-23

简介依赖、关联、 聚合、组合的区别

类与类之间由弱到强关系是:    没关系 > 依赖 > 关联 > 聚合 > 组合。

    没关系:忽略

 依赖(dependency)

  类A偶然、临时的用到类B,B类的变化会影响到A。比如某人要过河,需要借用一条船,此时人与船之间的关系就是依赖;表现在代码层面,为类B作为参数被类A在某个method方法中使用。用带虚线的箭头。

  image.png

 关联(association)

  他体现的是两个类、或者类与接口之间语义级别的一种强依赖关系,比如我和我的朋友;这种关系比依赖更强、不存在依赖关系的偶然性、关系也不是临时性的,一般是长期性的,而且双方的关系一般是平等的、关联可以是单向、双向的;表现在代码层面,为被关联类B以类属性的形式出现在关联类A中,也可能是关联类A引用了一个类型为被关联类B的全局变量;

 image.png

 聚合

  聚合则是一种较为松散的关系,部分和整体的生命周期未必一致。聚合关系中,部分的实例化过程在整体外进行,然后通过某种方式注入给整体。聚合是动态聚集。

image.png

 组合

  组合是一种较为紧密的关系,从生命周期上看,部分和整体是共存亡的关系。在实代码中,组合关系中,部分的实例化在整体中进行。组合是静态聚集。

image.png

打赏支持

感谢您的支持,加油!

打开微信扫码打赏,你说多少就多少

找书费时,联系客服快速获取!

扫码支持

在线客服8:30-22:30,若离线请留言!

获取教程,请联系在线客服!

扫码支持

在线客服8:30-22:30,若离线请留言!

热门阅读

找PDF电子书,太费时间?

  • 微信扫描二维码,让客服快速查找。
  • 在线客服8:30-22:00,若离线请留言!