首页 > 其他 > 详细

单例模式

时间:2021-01-04 09:14:42      阅读:46      评论:0      收藏:0      [点我收藏+]

单例模式

  • 定义:是保证一个类只有一个实例,并且提供一个访问它的全局访问点。
  • 解释; 当已经有一个实例时,并不会创建一个新的实例,而是返回现有的实例。
  • 应用场景:比如一个网站的登录,点击登录后弹出一个登录弹框,即使再次点击,也不会再出现一个相同的弹框。
  • 要实现一个单例模式,一个经典的方式是创建一个类,类中有一个方法能创建该类的实例对象,还有一个标记,记录是否已经创过了实例对象。如果对象已经存在,就返回第一次实例化对象的引用。

ES5

// 单例模式
var Singleton = function(name) {
	this.name = name;
	this.instance = null;
};
Singleton.prototype.getName = function() {
	return this.name;
};
// 获取实例对象
Singleton.getInstance = function(name) {
	if (!this.instance) {
		this.instance = new Singleton(name);
	}
	return this.instance;
};
// 测试单例模式的实例
var a = Singleton.getInstance("aa");
var b = Singleton.getInstance("bb");
console.log(a === b) // true

ES6

class Singleton {
    constructor(name) {
        this.name = name;
	    this.instance = null;
    }
    static getInstance(name) {
       if (!this.instance) {
		this.instance = new Singleton(name);
	}
	return this.instance;   
    }
}
// 测试单例模式的实例
var a = Singleton.getInstance("aa");
var b = Singleton.getInstance("bb");
console.log(a === b) // true

单例模式

原文:https://www.cnblogs.com/landuo629/p/14227589.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!