最近看到尼古拉斯大神的一篇分享——Scalable Javascript Application Architecture,里面基于YUI讲了构建web应用的一些思想,现在看有些已经过时了,但思想永不过时,强烈建议读一读
其中对模块的介绍感觉很经典,加上一点自己的见解,总结分享一下
前端模块由HTML CSS JS三部分组成,模块应该具备包含自身的全部功能,不依赖外部环境
低耦合可以让模块互不影响,随意插拔
模块很像拼图的碎片,拼图碎片不需要知道完整的图片长什么样,仅仅保证自己能够被拼接即可
程序的成功创建,其实就是让每个模块按部就班
模块像小孩子一样,需要严格的一组规则约束,来保证避免问题
我在之前写过一篇图解7种耦合关系 ,里面讲解了不同的耦合程度;对于模块我们希望做到高内聚,低耦合
下面是高内聚的心法
仅发出消息
好的模块应该做到对外界无感知,仅接收数据,暴漏API和回调