设计模式就是一种编程经验的总结,解决某一类问题。
(设计模式一共有23种 面试的时候问的不太多) ,但是要了解能说出来
设计模式是我们在 **解决问题的时候针对特定问题给出的简洁而优化的处理方案**(高内聚-低耦合)
一些常见的设计模式有1.单例模式 2.组合模式 3.观察者模式 4.工厂模式 5.代理模式 6.适配器 7.原型模式
单列模式
单一实例--类提供一个静态(类)方法-不管调用几次,得到的对象 永远是同一个
// 使用次数比较多,每次都创建实例比较成本高 ,就可以考虑单例
// 调用一个静态方法--保证 不管调用几次 永远创建的是 同一个对象
class Dog {
// 静态属性 属于的类,类是全局变量 静态属性也是全局变量
static ins = null;
// 共享实例
static shareInstance() {
// 第一次 调用 创建要一个狗
// 第二次 用上一次创建的狗
//判断
if (Dog.ins == null) {
console.log('第一调用 创建狗');
Dog.ins = new Dog();
}
return Dog.ins;
}
}
//普通的实例化对象
let d1 = new Dog();
let d2 = new Dog();
console.log(d1 == d2); //false
//单例模式下创建的对象
let d3 = Dog.shareInstance();
let d4 = Dog.shareInstance();
console.log(d3 == d4); //true