你的位置:首页 > 软件开发 > ASP.net > C#设计模式:单件(例)模式

C#设计模式:单件(例)模式

发布时间:2015-07-12 23:00:23
这里写的代码,相当于《Head First 设计模式》的读书笔记,原书是java的,自己在学习的过程中将其翻译为C#:(一)剖析经典的单件模式实现  单件模式  -- 确保一个类只有一个实例,并提供一个全局访问点  -- 单件模式的类图可以说是所有模式的类图中最简单的  -- 有 ...

这里写的代码,相当于《Head First 设计模式》的读书笔记,原书是java的,自己在学习的过程中将其翻译为C#:

(一)剖析经典的单件模式实现

  单件模式

  -- 确保一个类只有一个实例,并提供一个全局访问点

  -- 单件模式的类图可以说是所有模式的类图中最简单的

  -- 有一些对象其实我们只需一个,如get='_blank'>线程池、缓存、对话框、处理偏好设置和注册表的对象、日志对象和充当打印机、显卡等设备的驱动程序的对象等。如果制造出多个实例,可能导致许多问题,如程序的行为异常、资源使用过度,或者结果不一致等

 

  1.新建一个控制台应用程序:SingletonPatternDemo。

  2.新建一个类:Singleton.cs

 1 namespace SingletonPatternDemo 2 { 3   public class Singleton 4   { 5     /// <summary> 6     /// 利用一个静态变量来记录Singleton类的唯一实例 7     /// </summary> 8     private static Singleton _uniqueInstance; 9 10     //这里是其它变量...11 12     /// <summary>13     /// 构造器私有化:只能在类内部才能调用构造器14     /// </summary>15     private Singleton() { }16 17     /// <summary>18     /// 只能通过该方法获取到对象实例19     /// </summary>20     /// <returns></returns>21     public static Singleton GetInstance()22     {23       //【注意】如果我们不需要该实例,它就永远不会产生。这就是“延迟实例化”(lazy instantiaze)24       return _uniqueInstance ?? (_uniqueInstance = new Singleton());25 26       #region 上行相当于以下代码27       //if (_uniqueInstance == null)28       //{29       //  _uniqueInstance = new Singleton();30       //}31 32       //return _uniqueInstance;33       #endregion34     }35 36     //这里是其它方法...37   }38 }

原标题:C#设计模式:单件(例)模式

关键词:C#

C#
*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们: admin#shaoqun.com (#换成@)。

可能感兴趣文章

我的浏览记录