美文网首页程序员
设计模式-单例模式

设计模式-单例模式

作者: 经纬文学 | 来源:发表于2021-01-14 18:53 被阅读0次

在日常的工作中,养成良好的编程习惯对于项目的长久可维护起到了不可忽视的作用

如果没有任何的规则,一般一个项目在经过五六个人的手后就会变的面目全非

所幸的是,从javascript创建至今,一直有着各种规范冒出。

打工人,打工魂,打工都是人上人

每天深入了解一下设计模式,提高自己的代码编程水平,成为人上人

单例模式

什么是单例模式?

一个类只能有一个实例,且该类能自行创建这个实例的一种模式

举个例子:

一家公司的ceo,只能有一位
class Ceo{
    constructor(companyName, name) {
        this.companyName = companyName
        this.name = name
    }

    static getInstance(companyName, name){
        if (!this.instance) {
            this.instance = new Ceo(companyName, name);
        }
        return this.instance
    }
}

const ceo = Ceo.getInstance('智联招聘','小郭')
const ceo2 = Ceo.getInstance('智联招聘','小明')

console.log(ceo === ceo2) // true

这时候,不管我是打印ceo.name还是ceo2.name,得到的结果都是小郭

单例模式有什么特点?

  • 单例模式只有一个实例对象
  • 实例对象由此单例类自行创建
  • 对外提供一个访问该单例的全局访问点【对外提供服务】

单例模式有什么优点?

  • 可以保证内存中只有一个实例,减少内存的开销
  • 避免对资源的多重占用

单例模式有什么缺点?

  • 不适于动态扩展,如果要拓展,需要修改代码,违反了开闭原则
  • 单例模式和单一职责想冲突

单一职责:一个类只实现一个逻辑;单例模式:业务 + '我要单例'

单例模式的使用场景

  • Vuex,状态全局管理
  • 购物车【电商】
  • 登陆/注册
  • 引入第三方库【可能存在多次重复引入的情况】
  • 需要频繁执行的动作
  • 链接数据库
  • .......

相关文章

  • 单例模式Java篇

    单例设计模式- 饿汉式 单例设计模式 - 懒汉式 单例设计模式 - 懒汉式 - 多线程并发 单例设计模式 - 懒汉...

  • python中OOP的单例

    目录 单例设计模式 __new__ 方法 Python 中的单例 01. 单例设计模式 设计模式设计模式 是 前人...

  • 单例

    目标 单例设计模式 __new__ 方法 Python 中的单例 01. 单例设计模式 设计模式设计模式 是 前人...

  • 设计模式 - 单例模式

    设计模式 - 单例模式 什么是单例模式 单例模式属于创建型模式,是设计模式中比较简单的模式。在单例模式中,单一的类...

  • 设计模式

    常用的设计模式有,单例设计模式、观察者设计模式、工厂设计模式、装饰设计模式、代理设计模式,模板设计模式等等。 单例...

  • 2018-04-08php实战设计模式

    一、单例模式 单例模式是最经典的设计模式之一,到底什么是单例?单例模式适用场景是什么?单例模式如何设计?php中单...

  • python 单例

    仅用学习参考 目标 单例设计模式 __new__ 方法 Python 中的单例 01. 单例设计模式 设计模式设计...

  • 基础设计模式:单例模式+工厂模式+注册树模式

    基础设计模式:单例模式+工厂模式+注册树模式 单例模式: 通过提供自身共享实例的访问,单例设计模式用于限制特定对象...

  • 单例模式

    JAVA设计模式之单例模式 十种常用的设计模式 概念: java中单例模式是一种常见的设计模式,单例模式的写法...

  • 设计模式之单例模式

    单例设计模式全解析 在学习设计模式时,单例设计模式应该是学习的第一个设计模式,单例设计模式也是“公认”最简单的设计...

网友评论

    本文标题:设计模式-单例模式

    本文链接:https://www.haomeiwen.com/subject/aazvaktx.html