前言
最近review公司的代码,发现代码耦合程度特别高,修改一处,不知不觉就把其他地方影响到了,这就让我思考该如何让我们写的代码足够内聚,减少耦合呢?
"高内聚、松耦合"是一个非常重要的设计思想,能够有效地提高代码的可读性和可维护性,缩小功能改动导致的代码改动范围。它可以用来指导不同粒度代码的设计与开发,比如系统、模块、类,甚至是函数,也可以应用到不同的开发场景中,比如微服务、框架、组件、类库等。本文我们来探讨下如何让我们的应用做到高内聚、低耦合。
什么是高内聚?
首先我们将目光投射到内聚上,通常我们的代码的内聚归为7类,如下图所示,内聚性从高到低。

- 功能内聚
将相同功能放到一个类或者模块中,内聚程度最高。
- 顺序内聚
如果一个功能的输出是另外一个功能的输入,这种存在顺序依赖关系的,我们将他们归到一个模块中叫做顺序内聚。
- 通信内聚
如果功能点使用相同输入或输出数据,我们将他们内聚到一个模块中,叫做通信内聚。
- 过程内聚
如果不同的功能是由同一个控制流支配的,我们称作过程内聚。
- 时间内聚
不同的功能在同一时间段内执行,比如银行不同的跑批任务,由时间去控制是否放在同一个模块中的内聚叫做时间内聚。
- 逻辑内聚
不同的功能可能他们内部的逻辑是一致的,我们将他归在一起叫做逻辑内聚。

本文探讨如何使架构设计达到高内聚、低耦合,提高代码可读性和可维护性。高内聚是指将相似功能聚合到一起,降低修改影响范围;低耦合关注类间依赖关系,确保改动一处不会波及其他模块。通过理解内聚的7类和耦合的7种情况,以及遵循迪米特法则,可以更好地实现这一设计目标。
最低0.47元/天 解锁文章
1641

被折叠的 条评论
为什么被折叠?



