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)
  • 相关阅读:
    骑士飞行棋 C#代码详解
    C#中的static静态变量的用法
    Break和Continue的一些注意事项
    枚举类型
    html 01-认识Web和Web标准
    css 17-CSS3的常见边框汇总
    css 16-浏览器的兼容性问题
    css 15-Sass入门
    css 14-CSS3属性详解:Web字体
    css 13-CSS3属性:Flex布局图文详解
  • 原文地址:https://www.cnblogs.com/camille666/p/design_pattern_create_singledon.html
Copyright © 2011-2022 走看看