设计模式学习之--Singleton(单例)模式
来源:互联网 发布:ybi 源码 编辑:程序博客网 时间:2024/05/06 12:12
1、Singleton单例模式,是一种责任型模式。这种模式,通过隐藏构造器和提供对创建对象的单个访问点,实现了将类的职责---创建一个担当着独一无二角色的对象(生产唯一实例),集中于类的单个实例中。
2、它的宗旨:确保某个类只有一个实例,并且为之提供一个全局访问点。
3、它的机制:将该单例对象作为单例类的一个静态域创建实例;显示提供唯一的私有构造器(注意,必须显示提供,否则使用者仍然会调用系统提供的默认构造器来实例对象);提供一个具有公有访问属性的静态方法,利用它获取该类的唯一实例。
4、初始化实例的两种时机:
5、多线程环境中确保创建唯一实例:使用属于当前类的锁进行同步,即使用锁机制来协调不同线程中多个方法的运行。因为我们无法保证,在多线程环境中,一个方法能够持续运行到结束,其它线程的方法才开始运行。此外,我们也应该在多线程环境中,应用这个同步机制,来限制对单例对象内部数据的访问。
6、该模式或许是最负盛名的模式,但由于我们很容易误用它,因此不要轻易使用。不要让Singleton模式成为创建全局变量的唯一方式。注意,如果是想创建供测试用的子类,它可能不是最合适的,因为并不只有一个实例。
7、示例:
public class Singleton{
}
- 设计模式学习之--Singleton(单例)模式
- 设计模式学习之--Singleton(单例)模式
- 设计模式学习笔记(一)之单例模式(Singleton)
- 设计模式之单例模式Singleton
- 【设计模式】之 Singleton 单例模式
- 设计模式之单例模式(Singleton)
- 设计模式之单例模式(Singleton)
- 设计模式之单例模式Singleton
- 设计模式之单例模式-Singleton
- 设计模式之单例模式Singleton
- 设计模式之单例模式(Singleton)
- 设计模式之单例模式(Singleton)
- 设计模式之单例模式(Singleton)
- 设计模式之单例模式:singleton
- 设计模式之单例模式(Singleton)
- 设计模式之单例模式Singleton
- 设计模式之 单例模式(Singleton)
- 设计模式之单例模式(Singleton)
- 游戏美工制作大全
- Printdocument隐藏"正在打印"窗口
- 如何设置REUSE_ALV_GRID_DISPLAY'的单个单元格的是否可以输入
- 关于cin流
- 光流法的学习
- 设计模式学习之--Singleton(单例)模式
- Javascript学习第一季(2)
- Javascript学习第一季(3)
- 设计模式学习之---Facade(外观)模式
- Javascript学习第一季(4)
- Javascript学习第一季(5)
- 大学生如何开展自己的创业道路
- C#代码与javaScript函数的相互调用
- 工作态度