前端设计模式

  • 模块模式
  • 工厂模式
  • 构造函数模式
  • 混合模式
  • 单例模式
  • 发布订阅模式

模块模式

用于模块封装,用立即执行的函数嵌套一下,定义了一些私有的变量和方法,只 return 出一些供外部使用的接口,外部只能访问这些接口,无法访问私有的变量和方法


工厂模式

工厂模式相当于构造函数模式的简化版,能创建对象,但是没有构造函数,无法用 instanceof 的方法判断是否为实例



构造函数模式

构造函数模式,把私有的属性绑定到this上,把公用的方法绑定到构造函数的原型对象上,使用 new 关键词创建实例


混合模式

混合模式:子类继承父类的属性和方法,子类再绑定自己的属性和方法,是构造函数模式的扩展。


单例模式

单例模式的特点是,如果对象不存在,会初始化创建,存在后,无论调用几次,得到的永远是同一个对象


发布订阅模式

发布订阅模式,可以自定义事件,绑定事件类型和处理方法,之后如果要对该事件绑定同样的方法,只要订阅该事件即可



使用发布订阅模式写一个事件管理器,可以实现如下方式调用

Event.on('change', function(val){
    console.log('change...  now val is ' + val);  
});
Event.fire('change', '饥人谷');
Event.off('changer');

你可能感兴趣的:(前端设计模式)