C#单例设计模式
一:对设计模式的理解:在编程过程中,根据经验,理论,总结优化出一套编程风格,可以理解为设计模式
二:单例模式
下面给出一个示例
class Program
{
static void Main(string[] args)
{
Single s1 = Single.GetSingle();
Single s2 = Single.GetSingle();
if (s1 == s2)
{
Console.WriteLine("s1 与 s2为同一实例");
}
else
{
Console.WriteLine("s1 与 s2为不同一实例");
}
Console.ReadKey();
}
}
class Single
{
private Single() //创建私有的构造方法,使得外部无法调用Single类的构造方法因而无法new对象
{
}
private static Single singleInstance; //创建静态的Single类的变量,用于承接Single类的实例
public static Single GetSingle()
{
if (singleInstance!=null)
{
return singleInstance;
}
else
{
return singleInstance = new Single(); //返回Single类的实例
}
}
}
单例模式的三个重要组成部分:
一:需声一个私有的无参构造函数,这样在类的外部便无法通过new关键字实例化;
二:在类的内容为该类创建一个实例对象;
三:创建静态方法,外面使用时直接通过类名调用方法名称,而创建出此类的唯一对象;