通过设计深模块来减小复杂度

2022-04-21  本文已影响0人  全新的饭

为何要划分模块?

分离关注点:将大复杂分割成若干小复杂。
使开发者在任何时候都只需要面对整体复杂度的一小部分(当前所处模块)

模块是什么?

一个系统由若干相互关联(依赖)的模块构成。
模块 = 接口 + 实现

在某模块内部工作时,开发者需理解

  1. 该模块的接口和实现
  2. 该模块依赖的其他模块的接口

如上所述,为降低复杂度,应尽量让接口简单(简单包括容易使用、容易理解)。

接口

该模块能做什么?
需注意:接口不止指的是供依赖本模块的其他模块调用的本模块的字段、方法等,还包括外部使用本模块功能的要求(使用规则、限制条件,即正确的使用方式)
可将模块的接口理解为:开发者使用模块时,需掌握的全部信息。

对于使用模块的人来说,该模块的接口是该模块的抽象(抽象是实体的简化视图,它省略了不必关注的细节)。

抽象是非常有效的降低(隐藏)复杂度的方法!

实现

怎么做:完成接口作出的承诺。

设计模块时,要设计深模块

深:功能(实现)强大、接口简单。
隐藏了足够的复杂度。

上一篇 下一篇

猜你喜欢

热点阅读