JavaScript设计模式笔记-创建型-单例模式
概念:单例模式是只允许实例化一次的对象类。
1、创建思路:
- 创建一个闭包函数
- 在闭包函数中创建保存实例的变量
instance
,并赋值null
- 编写单例函数
- 在闭包函数中返回单例的实例变量
- 返回前先判断
instance
是否为空,为空则先创建再返回
2、示例代码
// 单例模式
var SingleTon = (function(){
var instance = null;
// 单例
function Single (text){
// 这里定义私有属性和方法
this.title = text;
return {
publicMethod : function(){
return "this is method return"
},
aa : "1.0",
title : this.title
}
}
// 获取单例对象接口
return function(text){
// 如果未创建单例,则创建
if(!instance) instance = new Single(text);
// 返回单例
return instance;
}
})();
console.log(SingleTon("this is a title").publicMethod()) // this is method return