单例模式
单例模式:确保一个类只有一个实例,并提供一个全局访问点来访问这个唯一的实例。
1.单例类构造函数的可见性为private
2.提供一个类型为自身的静态私有成员变量
3.提供一个公有的静态工厂方法
class Singleton
{
private static Singleton instance = null; //静态私有成员变量
private Singleton()
{
}
public static Singleton GetInstance() //静态公有工厂方法,返回唯一实例
{
if(instance == null)
instance = new Singleton;
return instance;
}
}
客户端:
class Program
{
static void Main(string[] args)
{
Singleton s1 = Singleton.GetInstance();
Singleton s2 = Singleton.GetInstacne();
//比较两个对象是不是相同
if(s1 == s2)
Console.WriteLine("两个对象是相同实例");
Console.Read();
}
}