C#:单例设计模式
设计模式
什么叫设计模式:设计模式是一套被反复使用,多数人知晓,经 过分类,代码设计经验的总结,简单理解就是前人代码设计的经 验,简称“前任攻略”。 常用的设计模式有单例模式,工厂模式,代理模式。
单例模式
对于系统中的某些类来说,只有一个实例很重要,例如,一个系统中可能 存在多个打印任务,但是只能有一个正在工作的任务。针对这种情况如果 某个类只能有一个实例那么则满足我们的需求,我们将满足某个类只有一 个实例的代码设计方式称为单例模式。
单例模式的三要点:
(1)某个类只能有一个实例
(2)必须自行创建这个实例
(3)必须自行向外界提供这个实例
设计单例模式类
class SingleTon
{
private SingleTon() { }//构造方法必须私有化
private static SingleTon instance;//定义静态实例\
public string name;//定义一个变量来验证
static SingleTon()
{
instance = new SingleTon();//静态构造函数中对静态实例进行初始化
}
public static SingleTon Instance//对外提供获取该实例的接口
{
get
{
if (instance == null)
{
instance = new SingleTon();
}
return instance;
}
}
}
验证
class Program
{
static void Main(string[] args)
{
SingleTon singleTonA = SingleTon.Instance;
singleTonA.name = "SingleTonTest";
SingleTon singleTonB = SingleTon.Instance;
Console.WriteLine(singleTonB.name);
//检查A和B是否使用的是同一个实例
}
}
输出结果
可以看见B的name输出了A给与单例的值。