javascript单例模式(懒汉 饿汉)
第一种:懒汉模式
var Singleton=(function(){
var instantiated; //比较懒,在类加载时,不创建实例,因此类加载速度快,但运行时获取对象的速度慢
function init(){
/*这里定义单例代码*/
return{
publicMethod:function(){
console.log('helloworld');
},
publicProperty:3
};
}
return{
getInstance:function(){
if(!instantiated){
instantiated=init();
}
return instantiated;
}
};
})();
/*可在其他类调用公有的方法或属性来获取实例:*/
Singleton.getInstance().publicMethod();
Singleton.getInstance().publicProperty = 4;
console.log(Singleton.getInstance().publicProperty);
第二种:饿汉模式
var Singleton=(function(){
var instantiated = init(); //比较饿,在类加载时就完成了初始化,所以类加载较慢,但获取对象的速度快
function init(){
/*这里定义单例代码*/
return{
publicMethod:function(){
console.log('helloworld');
},
publicProperty:3
};
}
return{
getInstance:function(){
return instantiated;
}
};
})();
javascript单例模式(懒汉 饿汉)的更多相关文章
- java 设计模式 单例模式之饿汉模式/懒汉模式 singleton pattern
https://v.qq.com/x/page/e0364ung5zp.html 讲的不错, 关于 饿汉式单例模式 code Student 类: package com.test;//单例模式之 ...
- C++的单例模式与线程安全单例模式(懒汉/饿汉)
1 教科书里的单例模式 我们都很清楚一个简单的单例模式该怎样去实现:构造函数声明为private或protect防止被外部函数实例化,内部保存一个private static的类指针保存唯一的实例,实 ...
- Java单例模式之饿汉模式与懒汉模式
单例模式是我们在开发软件的过程中经常用到的23中常用的java模式之一,主要的功能就是保证我们所使用的对象只有一个,这也在一方面减少了出错的可能性,增强了代码的健壮.单例模式一般来说有两种实现的方式, ...
- java单例,懒汉&饿汉
* 单例模式Singleton * 应用场合:有些对象只需要一个就足够了,如皇帝 * 作用: 保证整个应用程序中某个实例有且只有一个 * 区别: 饿汉模式的特点是加载类时比较慢,但运行是比较快 ...
- java基础10 单例模式之饿汉式和懒汉式单例
前言: 软件行业中有23中设计模式 单例模式 模版模式 装饰者模式 观察者模式 工厂模式 ........... 单例模式 1. 单例模式包括 1.1 饿汉式单例 1.2 ...
- java单例模式(饿汉式和懒汉式)
1 /* 2 * 设计模式:对问题行之有效的解决方式.其实它是一种思想. 3 * 4 * 1,单例设计模式 5 * 解决的问题:就是可以保证一个类在内容中的对象唯一性. 6 * 7 * 必须对于多个程 ...
- Spring中单例模式中的饿汉和懒汉以及Spring中的多例模式
链接:https://pan.baidu.com/s/1wgxnXnGbPdK1YaZvhO7PDQ 提取码:opjr 单例模式:每个bean定义只生成一个对象实例,每次getBean请求获得的都是此 ...
- Java单例模式《一》饿汉式
package com.study.mode; /** * 单例模式:饿汉式. 线程安全. * @ClassName: SingleBean * @author BlueLake * @date 20 ...
- (转)Singleton 单例模式(懒汉方式和饿汉方式)
原文地址:http://www.cnblogs.com/kkgreen/archive/2011/09/05/2166868.html 单例模式的概念: 单例模式的意思就是只有一个实例.单例模式确保某 ...
随机推荐
- python cookbook学习笔记 第一章 文本(1)
1.1每次处理一个字符(即每次处理一个字符的方式处理字符串) print list('theString') #方法一,转列表 结果:['t', 'h', 'e', 'S', 't', 'r', 'i ...
- Create Table DDL sample(TSQL)
IF EXISTS (SELECT 1 FROM sysobjects o, sysusers u WHERE o.uid=u.uid AND o.name = 'Table_Name' AND u. ...
- Bitmap的一个简单实现
一.Bitmap简介 Bitmap是一种常用的数据结构,其实就是一个连续的数组,主要是用于映射关系,如映射整数,一位代表一个数,即这里假设Bitmap有100Bytes * 8 这么多的位,那么这里可 ...
- 定义文件XML——从简单开始
本文纯属个人见解,是对前面学习的总结,如有描述不正确的地方还请高手指正~ 通过看XML讲授的视频,算是对XML有了简略的认识,原本不盘算写这篇博客,但无法原来视频讲授的内容就少,再不踊跃写些东西,过不 ...
- sql数据黑马程序员——SQL入门
最近研究sql数据,稍微总结一下,以后继续补充: ---------------------- ASP.Net+Android+IO开辟S..Net培训.等待与您交流! --------------- ...
- PHP部分--文件上传、客户端和服务器端加限制、抓取错误信息、完整步骤
文件上传分为两个部分, HTML显示部分和PHP处理部分,HTML部分主要是让用户来选择所要上传的文件,然后通过PHP中的$_FILES,我们可以把文件上传到服务器的指定目录. 1.客户端页面 客户端 ...
- [ios2]UItableview相关 【转】
1.使tableview在界面启动后定位在x行 -(void)viewDidLoad { [superviewDidLoad]; NSIndexPath *first = [NSIndex ...
- oracle ebs 分类账与法人主体对应关系
--ebs 分类账与法人主体对应关系 SELECT A.SET_OF_BOOKS_ID LEDGER_ID, GL.NAME LEDGER_NAME, GL.CURRENCY_CODE, FFV.FL ...
- saltstack布署实践 【配置文件管理-state模块】
那如果要批量修改被管机器的某个配置文件怎么做?以下给出一个最简单案例. 先在主管机器master上查看/etc/salt/master配置文件 看到有以下几行配置文件 # file_roots ...
- url截取
<!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <title&g ...