学习完整课程请移步 互联网 Java 全栈工程师
组件化与模块化
首先来谈两个前端和移动端比较常见的词:组件化
和 模块化
首先,可以肯定的是,组件化和模块化的中心思想都是 分而治之
。目的都是将一个庞大的系统拆分成多个组件或者说是模块。
组件化
组件化就是基于可重用的目的,将一个大的软件系统按照分离关注点的形式,拆分成多个独立的组件,主要目的就是 减少耦合。
一个独立的组件可以是一个软件包、WEB 服务、WEB 资源或者是封装了一些函数的模块。这样,独立出来的组件可以单独维护和升级而不会影响到其他的组件。
模块化
模块化的目的在于将一个程序按照其功能做拆分,分成相互独立的模块,以便于每个模块只包含与其功能相关的内容,模块之间通过接口调用。将一个大的系统模块化之后,每个模块都可以被高度复用。
模块化和组件化的区别
从上面的定义中可以看出,组件化和模块化的意思差不多,主要思想都是分而治之。只是一个把拆分之后的每个片段叫做组件、另一个把拆分之后的片段叫做模块。那么这两种拆分在拆分方式上是不是有什么不同的?
关于组件化和模块化的区别,我在网上看了好多资料,也没有人能给出准确的回答。其实没有准确回答的原因也比较明显,那就是大多数时候我们真的不需要严格的区分这两个名字。我们要学习的是其中的解耦和分治的思想和目的。
从另外一个角度来讲,如果真的要区分一下组件化和模块化的话,那么可以认为这两种分而治之的目的稍有区别:
- 模块化的目的是为了
重用
,模块化后可以方便重复使用和插拨到不同的平台,不同的业务逻辑过程中。 - 组件化的目的是为了
解耦
,把系统拆分成多个组件,分离组件边界和责任,便于独立升级和维护。
网友评论