设计模式-单例模式

设计模式-单例模式文章封面
概括:

    单例模式/单子模式(Singleton Pattern)是最简单的设计模式之一,属于创建型模式。

特征:

    重复创建只返回同一个实例, 全局对象

设计:

    创建对象时判断是否存有单例,有则返回单例对象,没有则进行创建

优点:

  • 内存中只存在一个实例,减少繁琐的重复创建与销毁实例
  • 避免IO对资源的多重占用
  • 数据库的多次连接

缺点:

  • 不适用于变化的对象,如果同一类型的对象总是要在不同的用例场景发生变化,单例就会引起数据的错误,不能保存彼此的状态。
  • 可扩展性差
  • 职责过重,单例模式提供 既 了业务方法,又包含了"工厂模式"的创建方法,将对象的创建和本身功能耦合在一起
  • 勉强算(闭包容易导致的内存泄露 ) 

代码案例:

// javascript code-model
let Demo = (function (val1, val2) {
let store = null;

return class {
constructor () {
if(store) return store;
store = this;
store.val = {
val1: val1,
val2: val2
}
// code……
this.update();
}
}
})();
    音乐封面 点击展开工具栏