高内聚低耦合(High cohesion & Low coupling)

一、高内聚低耦合是什么?

1、概念

高内聚低耦合,是软件工程中的概念,是判断软件设计好坏的标准,主要用于程序的面向对象的设计,主要看类的内聚性是否高,耦合度是否低。

2、目的

目的是使程序模块的可重用性、移植性大大增强。

通常程序结构中各模块的内聚程度越高,模块间的耦合程度就越低。

  • 内聚是从功能角度来度量模块内的联系,一个好的内聚模块应当恰好做一件事,它描述的是模块内的功能联系;
  • 耦合是软件结构中各模块之间相互连接的一种度量,耦合强弱取决于模块间接口的复杂程度、进入或访问一个模块的点以及通过接口的数据。
高内聚低耦合(High cohesion & Low coupling)插图

二、高内聚低耦合适用于不同的抽象层次

高内聚低耦合不是一个绝对的概念,而是一个相对的概念,适用于不同的抽象层次。

1、方法

方法内部是高内聚的,方法和方法之间是低耦合的。

2、类或接口

里面各个方法是高内聚的,类与类(接口与接口)之间是低耦合的。

3、模块

模块里面类与类之间是高内聚的,模块与模块之间是低耦合的。

4、微服务

微服务内部是高内聚的,微服务之间是低耦合的。

5、系统

系统内部是高内聚的,系统之间是低耦合的。

A和B 关系近,或者关系远,要看是在哪个抽象层次上,要看是和谁进行比较。

高内聚低耦合(High cohesion & Low coupling)插图2

发表评论