模块化思想

一、前言(演化思想)

  • 全局变量(属性、方法)
  • 同名变量名冲突(值会被后一个覆盖)
  • 对象、变量之间的关系不清晰
  • 文件顺序的依赖
  • 命名空间
  • 理论上解决了命名冲突的问题,但是对象的属性全部向外暴露,不安全
  • 划分私有命名空间
  • 解决了命名冲突的问题
  • 解决了属性向外暴露,容易被修改、不安全的问题
  • ** 项目开发中,我们负责将各种功能封装到对象的属性中,匿名自执行函数,避免同名函数,在自执行函数执行的时候,我们还可以做一些init的操作 **
  • 扩展与维护(为了增加程序的健壮性)
  • 在注入的时候做了判断 (window.cal ||{})
  • 以参数注入,防止没有传参,带来的undefined.的异常
  • 依赖注入的思想:通过由外部传入对象,再给对象添加功能以后返回
  • 对于维护:坚持开闭原则(对添加开发、对修改封闭)

推荐阅读更多精彩内容