设计模式 - Singleton Pattern(单例模式)

from:设计模式 - Singleton Pattern(单例模式)  

 

设计模式 - Singleton Pattern(单例模式)

作者:webabcd 介绍 保证一个类仅有一个实例,并提供一个访问它的全局访问点。 示例 保证一个类仅有一个实例。 Singleton

using  System; using  System.Collections.Generic; using  System.Text; namespace  Pattern.Singleton {     /// <summary>     /// 泛型实现单例模式     /// </summary>     /// <typeparam name="T">需要实现单例的类</typeparam>     public class Singleton<T> where T : new()     {         /// <summary>         /// 返回类的实例         /// </summary>         public static T Instance         {             get return SingletonCreator.instance; }         }         class SingletonCreator         {             internal static readonly T instance = new T();         }     } }

Test

using  System; using  System.Data; using  System.Configuration; using  System.Collections; using  System.Web; using  System.Web.Security; using  System.Web.UI; using  System.Web.UI.WebControls; using  System.Web.UI.WebControls.WebParts; using  System.Web.UI.HtmlControls; using  Pattern.Singleton; public  partial  class  Singleton : System.Web.UI.Page {     protected void Page_Load(object sender, EventArgs e)     {         // 使用单例模式,保证一个类仅有一个实例         Response.Write(Singleton<Test>.Instance.Time);         Response.Write("<br />");         Response.Write(Singleton<Test>.Instance.Time);         Response.Write("<br />");         // 不用单例模式         Test t = new Test();         Response.Write(t.Time);         Response.Write("<br />");         Test t2 = new Test();         Response.Write(t2.Time);         Response.Write("<br />");     } } public   class  Test {     private DateTime _time;     public Test()     {         System.Threading.Thread.Sleep(3000);         _time = DateTime.Now;         }     public string Time     {         get return _time.ToString(); }     } }

运行结果 2007-2-10 22:35:11 2007-2-10 22:35:11 2007-2-10 22:35:14 2007-2-10 22:35:17 OK

OK [源码下载]

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值