你如何考虑组件化

组件化与模块化

首先来谈两个前端和移动端比较常见的词:组件化模块化

首先,可以肯定的是,组件化和模块化的中心思想都是 分而治之。目的都是将一个庞大的系统拆分成多个组件或者说是模块。

组件化

组件化就是基于可重用的目的,将一个大的软件系统按照分离关注点的形式,拆分成多个独立的组件,主要目的就是 减少耦合

一个独立的组件可以是一个软件包、WEB 服务、WEB 资源或者是封装了一些函数的模块。这样,独立出来的组件可以单独维护和升级而不会影响到其他的组件。

模块化

模块化的目的在于将一个程序按照其功能做拆分,分成相互独立的模块,以便于每个模块只包含与其功能相关的内容,模块之间通过接口调用。将一个大的系统模块化之后,每个模块都可以被高度复用。

模块化和组件化的区别

从上面的定义中可以看出,组件化和模块化的意思差不多,主要思想都是分而治之。只是一个把拆分之后的每个片段叫做组件、另一个把拆分之后的片段叫做模块。那么这两种拆分在拆分方式上是不是有什么不同的?

关于组件化和模块化的区别,我在网上看了好多资料,也没有人能给出准确的回答。其实没有准确回答的原因也比较明显,那就是大多数时候我们真的不需要严格的区分这两个名字。我们要学习的是其中的解耦和分治的思想和目的。

从另外一个角度来讲,如果真的要区分一下组件化和模块化的话,那么可以认为这两种分而治之的目的稍有区别:

  • 模块化的目的是为了 重用,模块化后可以方便重复使用和插拨到不同的平台,不同的业务逻辑过程中。
  • 组件化的目的是为了 解耦,把系统拆分成多个组件,分离组件边界和责任,便于独立升级和维护。
上次更新: 2019-4-19 19:23:15