js设计模式自己杂记版本

一、总结

1、原则
开放封闭原则
单一职责原则
依赖倒置原则
接口隔离原则
迪米特法则
里氏替换原则

2、创建型:这些设计模式可以帮助我们优雅地创建对象
工厂模式-大量创建对象

单例模式-全局只能有我一个

建造者模式-精细化组合对象

原型模式-javaScript的灵魂

3、结构型:帮助我们优雅地设计代码结构
外观模式-给你的一个套餐

适配器模式-用适配代替更改

装饰者模式-更优雅地扩展需求

享元模式-共享来减少数量

桥接模式-独立出来,然后再对接过去

4、行为型:模块之间行为的模式总结,帮助我们组织模块行为
观察者模式-我作为第三方转发(事件监听/Promise)

状态模式-用状态代替判断(添加/删除购物车)

策略模式-算法工厂

职责链模式-像生产线一样组织模块(Promise多个then)

命令模式-用命令去解耦

迭代器模式-告别for循环

5、技巧型:一些帮助我们优化代码的技巧
链模式-链式调用

委托模式-让别人代替你收快递

数据访问模式-一个方便的数据管理器

惰性模式-我要搞机器学习(第一次执行完后把状态记录下来)

等待者模式-等你们都回来再吃饭

二、挨个学习

1、单例模式
保证一个类仅有一个实例,并提供一个访问它的全局访问点。

var Singleton = function( name ){
    this.name = name;
    this.instance = null;
};

Singleton.prototype.getName = function(){
    alert ( this.name );
};

Singleton.getInstance = function( name ){
    if ( !this.instance ){
        this.instance = new Singleton( name );
    }
    return this.instance;
};

var a = Singleton.getInstance( 'sven1' );
var b = Singleton.getInstance( 'sven2' );

alert ( a === b );    // true

stray
129 声望10 粉丝

« 上一篇
安全(杂记)
下一篇 »
js算法(杂记)