- 设计模式总结
- 1、创建型:单例,原型,构造器,工厂,抽象工厂
- 2、结构型:桥接,外观,组合,装饰器,适配器,代理,享元
- 3、行为型:迭代器,解诗琪,观察者,中介者,访问者,状态,备忘录,策略,模板方法,职责链
//类实现单例
class SingletonCar {
constructor () {
this.name = null;
}
static getInstance () {
//SingletonCar.base是永假的
if (!SingletonCar.base) {
SingletonCar.base = new SingletonCar();
}
return SingletonCar.base;
}
}
//闭包实现单例
var SingletonCarClass = (function () {
var instance;
var SingletonCarTemp = function () {
this.name = null;
};
return function () {
if (!instance) {
instance = new SingletonCarTemp();
}
return instance;
}
})();
let car1 = SingletonCar.getInstance();
let car2 = SingletonCar.getInstance();
let car3 = new SingletonCarClass();
let car4 = new SingletonCarClass();
console.log(car1 === car2) // true
console.log(car3 === car4) // true