标签:
单例模式(Singleton)
限制了实例化次数只能只有一次;(如果实例不存在,则创建一个新实例;如果实例存在,则返回该实例的引用)
在JavaScript中,Singleton充当了共享资源命名空间,从全局命名空间中隔离出代码实现,从而为函数提供单一访问点。--《JavaScript设计模式 P39》(说白了就是在解释点第1点)
单例模式适用性
当类只能有一个实例且客户可以从一个众所周知的访问点访问它时;
该唯一的实例应该是通过子类化可扩展的,并且客户应该无需更改代码就能使用一个扩展的实例时。--《JavaScript设计模式 P40》
优点:
只会实例化一次;
节省内存。
缺点:
系统中的模块会出现要么紧密耦合;
要么其逻辑过于分散;
创建多个实例有困难 ;
测试会困难;
~~等。
思路:
不要过度使用。
应用场景:
系统中确实只需一个对象来协调其他对象时。(例如使用在通信协调上)
例子:
实验1:
~~待补充
学习资料:
《JavaScript设计模式》;
汤姆大叔深入理解JavaScript系列。
标签:
原文地址:http://my.oschina.net/Karon/blog/496655