单例模式
Posted Mark;D
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了单例模式相关的知识,希望对你有一定的参考价值。
在CommonUtility文件中写这个方法
/// 把类的构造函数访问权限设置为private,则该类不能在外界被new了
/// 在当前类型中创建一个静态的方法,用该静态方法来返回一个对象
1 using System; 2 using System.Collections.Generic; 3 using System.Linq; 4 using System.Text; 5 using System.Threading.Tasks; 6 7 namespace CommonUtility 8 { 9 public class Singleton<T> where T : class,new() 10 { 11 /// <summary> 12 /// 单列模式 13 /// </summary> 14 /// <typeparam name="T"></typeparam> 15 private static T _instance = null; 16 public static readonly Object obj = new object(); 17 public static T Instance() 18 { 19 if (_instance == null) 20 { 21 lock (obj) 22 { 23 return _instance = Activator.CreateInstance<T>(); 24 } 25 } 26 return _instance; 27 } 28 } 29 }
在BLL或者DAL调用时需要先引用CommonUtility。
1 public static new CContractMgrBLL Instance 2 { 3 get { return Singleton<CContractMgrBLL>.Instance(); } 4 }
作用:单例模式就是保证在整个应用程序的生命周期中,在任何时刻,被指定的类只有一个实例,并为客户程序提供一个获取该实例的全局访问点。
以上是关于单例模式的主要内容,如果未能解决你的问题,请参考以下文章