15 March 2017
号外号外:我的新书《现代JavaScript库开发:原理、技术与实战》出版啦!!!快点我查看
号外号外:一组小而美的JavaScript迷你库!!!快点我查看
号外号外:猿辅导招聘前端,后端,客户端啦!地点:北京!!!快点我查看

最近看到尼古拉斯大神的一篇分享——Scalable Javascript Application Architecture,里面基于YUI讲了构建web应用的一些思想,现在看有些已经过时了,但思想永不过时,强烈建议读一读

其中对模块的介绍感觉很经典,加上一点自己的见解,总结分享一下

模块新说

前端模块由HTML CSS JS三部分组成,模块应该具备包含自身的全部功能,不依赖外部环境

低耦合可以让模块互不影响,随意插拔

模块很像拼图的碎片,拼图碎片不需要知道完整的图片长什么样,仅仅保证自己能够被拼接即可

程序的成功创建,其实就是让每个模块按部就班

模块像小孩子一样,需要严格的一组规则约束,来保证避免问题

模块心法

我在之前写过一篇图解7种耦合关系 ,里面讲解了不同的耦合程度;对于模块我们希望做到高内聚,低耦合

下面是高内聚的心法

  • 仅处理自己
    • 仅调用自己的方法
    • 不能访问外部dom节点
    • 不能访问全局变量
  • 仅发出消息

  • 不要制造垃圾
    • 不能创建全局变量
  • 不要和陌生人说话
    • 不要直接和其他模块通信

总结

好的模块应该做到对外界无感知,仅接收数据,暴漏API和回调

原文网址:http://yanhaijing.com/javascript/2017/03/15/some-of-module/

微信公众号:颜海镜
关注微信公众号 颜海镜
微信支付二维码
赞赏支持 微信扫一扫