个人理解的单例模式
2014-06-07 15:42
399 查看
下面是个人理解的单例模式:
主方法调用如下:
当然这有时候不能保证单例唯一,可以用lock方法来实现如下:
欢迎交流
using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace ConsoleApplication6 { public sealed class Singleton { static Singleton instance; /// <summary> /// 为了避免实例不唯一,构造方法私有化 /// </summary> private Singleton() { } public static Singleton Instance { get { return instance == null ? new Singleton() : instance; } } public void dd(){ Console.WriteLine("fdd"); Console.ReadLine(); } } }
主方法调用如下:
using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace ConsoleApplication6 { class Program { static void Main(string[] args) { Singleton.Instance.dd(); } } }
当然这有时候不能保证单例唯一,可以用lock方法来实现如下:
using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace ConsoleApplication6 { public sealed class Singleton { static Singleton instance; static readonly object padlock = new object(); public Singleton() { } public static Singleton Instance { get { if (instance == null) { lock (padlock) { if (instance == null) { instance=new Singleton() ; } } } return instance; } } public void dd() { Console.WriteLine("fdd"); Console.ReadLine(); } } }
欢迎交流
相关文章推荐
- 关于装饰者模式的个人理解
- “命令模式”的个人理解
- 设计模式个人理解总结
- 个人对设计模式的理解-->桥接模式
- 个人对设计模式的理解-->建造者模式
- 几种设计模式分类的个人理解
- 个人对单例设计模式理解
- andorid 中 MVP模式 个人理解与运用(原创)
- 【Java学习笔记】线程安全的单例模式及双重检查锁—个人理解
- 适配器模式 和 装饰模式 个人的理解笔记
- 装饰模式个人的一些理解
- 设计模式个人理解
- 个人对于PHP设计模式之工厂模式的理解
- 个人对单例模式和观察者模式及事件的一点理解
- 设计模式理解(个人笔记)
- 设计模式之个人理解--单例模式
- JAVA设计模式六大原则个人理解【上】
- 单例模式个人理解--JAVA
- 个人对理想团队模式构建的设想及对软件流程的理解
- 代理模式,简单(静态)工厂模式,单例模式,模板方法模式个人理解