很多人将模块化,和组件化混为一谈,这种思想是不对的
模块化(一块):为了解决实现某一复杂业务逻辑,而划分成不同类型的代码块(例如MVC),使代码更为清晰(主要是为了代码清晰,有条理,次要效果:同一模块也可能为多个业务逻辑复用)
组件化(一组):为了解决重复劳动,把一些功能类似的(界面 + 交互 + 逻辑)抽取出来,成为一个独立的整体
什么是组件:组件是一组由(html,css,js)组成的,为实现某一个,或一类功能的独立体,他与业务逻辑无关,根据特定的输入,得到对应的输出;通过配置参数得到不同的展示效果。
组件化参数类型:输入,输出,配置
组件化注意:1,组件化类似于一个带界面的接口
2,业务与功能的耦合度越低,代表组件可复用性更高
3,组件也需要模块化,一个复杂的组件,需要模块式使代码清晰,可维护度更高,同时拥有公共块(无耦合),为不同组件所复用
4,组件多了会形成组件库
(一个好的组件能被继承和封装)
(一个好的组件能被使用者扩展)
(一个好的组件库由基础组件+复杂组件(继承多个基础组件或复杂组件))
(一个好的组件库需要对参数进行规范(命名,结构))
(一个好的组件库应该模块化,并且拥有公共模块)