sealed class Singleton { private Singleton(); public static readonly Singleton Instance=new Singleton(); }
方法一:
using System; namespace csPattern.Singleton { public class Singleton { static Singleton uniSingleton = new Singleton(); private Singleton() {} static public Singleton instance() { return uniSingleton; } } }
using System; namespace csPattern.Singleton { public class Singleton { static Singleton uniSingleton; private Singleton() {} static public Singleton instance() { if (null == uniSingleton) { uniSingleton = new Singleton _lazy(); } return uniSingleton; } } }
C#使用Singleton模式的实现有两个技巧:一是使用静态成员变量保存“全局”的实例,确保了唯一性,使用静态的成员方法instance() 代替 new关键字来获取该类的实例,达到全局可见的效果。二是将构造方法设置成为private,如果使用new关键字创建类的实例,则编译报错,以防编程时候笔误。
浙公网安备 33010602011771号