javascript设计模式(单体模式)

本文介绍了JavaScript中最常用的设计模式——单体模式。该模式通过将代码组织为单一逻辑单元来确保对象唯一实例的存在,并探讨了不同类型的单体模式,包括简单单体、闭包单体及惰性单体等。

主要内容:

js中最基本、应用最广的模式就是单体模式,实现原理是将代码组织为一个逻辑单元,这个逻辑单元中的代码可以通过单一的变更进行访问,确保对象只存在一份实例。

单体模式的特点:

在网页中使用全局变量具有较大的风险,而且可能存在后续变量创建有引起冲突的可能,单体模式则是清除这些全局变量的最佳手段之一。

 

1.简单单体模式:

最简单的单体其实就是一个对象字面量,它把一些有一定关联的方法和属性以键值对的方式组织在一起。如图:

只能创建一个实例,

var singleton = {

attr1:true,

attr2:10,

method:fuction(){

}

};

单体模式不能new关键字。

 区分命名空间:

这样一样,即使在全局变量中运用了与包中同名的变量,也不会产生冲突。

简单单例模式缺点:

对象可以被修改。可以添加属性和方法,也可以用delete删除现有成员,实际上违背了面向对象一条设计原则:

类可以被扩展,但不应该被修改。

如果某些属性或方法需要保护,可以考虑定义在闭包中。

利用闭包创建单体:

 

惰性单体:与闭包单体相似,如图:

简单单体与闭包单体有一个共同的缺点:

单体对象都是在脚本加载时被创建出来,对于资源密集的或配置开销比较大的单体,更合理的方式是将实例化推迟到需要使用它的时候。

分支单体,适应于多种浏览器环境

转载于:https://www.cnblogs.com/wshnx/p/6107250.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值