文章目录
1.什么是单例模式?
介绍
单例模式是最简单的设计模式之一,属于创建型模式,单例模式提供了一种创建对象的最佳方式
特点
- 单例模式的类(单例类)只有一个实例对象
- 这个单例对象必须由单例类创建
- 单例类对外提供一个访问这个单例的全局访问点
*总的来说就是,确保只有一个实例,并提供全局访问
结构
单例类:包含一个实例且能自行创建这个实例的类
访问类:使用单例的类
2.如何实现一个单例模式?
思路
通过单例模式的特点:一个类只有一个实例,
先判断实例存在与否,
若存在,则直接返回
若不存在,则创建了再返回
*在JS中单例作为一个命名空间提供者,从全局命名空间里提供一个唯一的访问点来访问该对象
实现代码
用一个变量来标记当前是否已经为某个类创建了这个单例对象,
若是,则在下一次获取实例时直接返回之前创建的对象
写法一:
let Singleton = function(name) {
this.name = name;
this.instance = null;
};
//Singleton.prototype.getName = function() {
// alert(this.name);
//};
Singleton.getInstance = function(name) {
if (!this.instance) {
this.instance = new Singleton(name);
}
return this.instance;
}