单件模式(Singleton Pattern)
来源:互联网 发布:网络神豪系统txt下载 编辑:程序博客网 时间:2024/05/16 15:30
单件模式(Singleton Pattern):用来创建独一无二的,只有一个实例的对象的入场券
//以“MyClass”作为单件类的类名,你可以根据自己的单件进行命名 public class MyClass { //单件类内部的唯一实例,volatile关键词确保当uniqueInstance变量被初始化成为Singleton实例时,多个线程正确的处理uniqueInstance变量 private volatile static MyClass uniqueInstance; //用于同步锁 private static object synchronized = new object(); //保证外部程序无法对该类进行实例化 private MyClass() { } //通过静态方法获取该单件类,具体操作为'MyClass.getInstance()' public static MyClass getInstance() { lock (synchronized){ //使用synchronized进行同步锁,进入该区域后其他线程无法进入该区域 if (uniqueInstance == null){ //检查变量uniqueInstance是否已经被实例 uniqueInstance = new Singleton(); } } } return uniqueInstance; } }
简化的实现方式
public class MyClass { private MyClass() { } private static readonly Lazy<MyClass> _instance = new Lazy<MyClass>(() => new MyClass()); public static MyClass Instance { get { return _instance.Value; } } }
总结:
确保一个类只有一个实例,并提供一个全局访问点。
下面有一个讲的很好的单例模式,但是使用JAVA实现的,讲解参考性非常棒。
转载:
http://blog.csdn.net/likika2012/article/details/11483167 作者:likika2012
0 0
- 单件模式(Singleton Pattern)
- 单件模式(Singleton Pattern)
- 单件模式(Singleton Pattern)
- 单件模式Singleton Pattern
- 单件模式Singleton Pattern
- 单件模式(Singleton Pattern
- 单件模式(Singleton Pattern)
- 设计模式-单件模式(Singleton Pattern)
- 单件模式(Singleton Pattern)
- 单件模式(Singleton Pattern)
- 单件模式(Singleton Pattern)
- 单件模式(Singleton Pattern)
- 单件模式(Singleton Pattern)
- 经典:单件模式(Singleton Pattern)
- 单件模式(Singleton Pattern)
- 单件模式 The Singleton Pattern
- 单件模式(Singleton Pattern)
- 单件模式(Singleton Pattern)
- win7系统开发hadoop时遇到的问题总结
- c++远征之封装篇(对象)
- freemarker 比较大小
- SpringMVC 限定某个业务控制方法,只允许GET或POST请求方式访问
- Skin++皮肤库使用步骤
- 单件模式(Singleton Pattern)
- elasticsearch5.2.2使用java API创建transport client
- 自定义元素(自定义控件)
- 使用ASM操作Java字节码,实现AOP原理
- 创建线程
- 拯救OIBH总部
- C++中可以用struct和class来定义类型,这两种类型有什么区别
- Java之Collections.emptyList()、emptySet()、emptyMap()的作用和好处以及要注意的地方。
- 自定义ViewGroup-通过内边距加深理解