C#设计模式_单例模式
2016-01-01 16:38
316 查看
using System; using System.Collections; using System.Collections.Generic; using System.IO; using System.Linq; using System.Net; using System.Text; namespace CShapeTest { // 没有考虑线程安全,如果有两个子线程在同时调用new方法时,会同时创建出两个Person对象 //class Person //{ // private static Person m_instance = null; // private Person() { } // public static Person GetInstance() // { // if (m_instance == null) // { // m_instance = new Person(); // } // return m_instance; // } //} // 考虑线程安全,加上线程锁,保证不会两个线程同时调用new方法,从而达到只会创建一个Person对象 //class Person //{ // private static Person m_instance = null; // private static readonly object lockObject = new object(); // private Person() { } // public static Person GetInstance() // { // if (m_instance == null) // { // lock(lockObject) // { // if (m_instance == null) // { // m_instance = new Person(); // } // } // } // return m_instance; // } //} // 使用C#的高级特性,可以减少书写单例模式的代码量 class Person { private static readonly Person m_instance = new Person(); private Person() { } public static Person GetInstance() { return m_instance; } } class Start { static void Main(string[] args) { var person = Person.GetInstance(); Console.WriteLine(person); Console.ReadLine(); } } }
相关文章推荐
- php设计模式之单例模式实例分析
- JavaScript编程的单例设计模讲解
- C#设计模式之单例模式实例讲解
- JS模式之单例模式基本用法
- 深入理解JavaScript系列(25):设计模式之单例模式详解
- Java单例模式、饥饿模式代码实例
- Android源码学习之单例模式应用及优点介绍
- C++设计模式之单例模式
- C#窗口实现单例模式的方法
- Java线程安全中的单例模式
- PHP单例模式详细介绍
- PHP 面向对象程序设计(oop)学习笔记(三) - 单例模式和工厂模式
- php实现singleton()单例模式实例
- PHP中数据库单例模式的实现代码分享
- php利用单例模式实现日志处理类库
- 浅析php单例模式
- php单例模式实现方法分析
- javascript单例模式的简单实现方法
- js单例模式的两种方案
- php单例模式示例分享