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
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。