zoukankan      html  css  js  c++  java
  • 设计模式之创建型单例模式

    又被称为单体模式,只允许实例化一次的对象类。有时也可以用一个对象来规划一个命名空间,井井有条地管理对象上的属性和方法。
    单例模式应该是JavaScript中最常见的一种设计模式了,经常为我们提供一个命名空间,来防止不同的人命名变量的冲突,还可以用它来创建一个小型的代码库。

    var MyTools = {
      elem: {
          getElement: function() {},
          setElement: function() {}
      },
      arr: {
          getArrLength: function() {},
          updateArr: function() {}
      },
      cookie: {
          getCookie: function() {},
          removeCookie: function() {}
      }
      ...
    }
    
    //调用
    MyTools.cookie.getCookie();

     使用一个变量来标志当前是否已经为某个类创建过对象,如果创建了,则在下一次获取该类的实例时,直接返回之前创建的对象,否则就创建一个对象。

    export function getPermissionObj() {
        if (!permissionObj){
            permissionObj = new Permission()
       }
        return permissionObj;
    }
    class Singleton {
    
      constructor(name) {
        this.name = name
        this.instance = null
      }
    
      getName() {
        alert(this.name)
      }
    
      static getInstance(name) {
        if (!this.instance) {
          this.instance = new Singleton(name)
        }
        return this.instance
      }
    }
    
    const instanceA = Singleton.getInstance('seven1')
    const instanceB = Singleton.getInstance('seven2')
    
    console.log(instanceA, instanceB)
  • 相关阅读:
    TCP/IP、UDP、HTTP详解
    第一章 Shiro简介(学习笔记)
    [已失效]坦白说(查看好友)抓包教程+解密工具
    常用正则表达式
    计算机网络基础
    三层交换机配置实例
    计算机网络基础3
    计算机网络基础4
    计算机基础2
    Linux基础命令练习1
  • 原文地址:https://www.cnblogs.com/camille666/p/design_pattern_create_singledon.html
Copyright © 2011-2022 走看看