# 模块化和组件化

# 组件化

组件化的目的是为了可重用,例如一个弹窗组件,在各个页面都有可能被使用到,因此可以将其提取成一个组件。组件化可以看成是一个纵向分层,一个页面可能包含多个组件。

# 模块化

模块化的目的是为了解耦合,将程序分为不同的模块,每个模块负责一个主要功能,例如passport库主要的功能就是登陆,它封装了对不同场景的登陆逻辑,对外暴露出一些方法供外界使用。模块化可以看出一个水平分层,不同模块之间处于平级关系。

模块化强调”单一职责原则“,模块之间可以有依赖,但是这个依赖不能太强。