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关键字实例化;

二:在类的内容为该类创建一个实例对象;

三:创建静态方法,外面使用时直接通过类名调用方法名称,而创建出此类的唯一对象;

posted @ 2022-04-01 11:19  yangbe1  阅读(33)  评论(0编辑  收藏  举报