单例(singleton)也叫单子模型,是指在某个类中只有一个实例,调用者可以获取该实例,并且这个实例是唯一的。
实现这种模型的方法,首先将该类中的构造方法设定为private
,使得外部调用者不能直接用new
来进行创建实例;然后在该类中,用static
的字段来存放该类的唯一实例,并将该实例一public
方法向外进行公开。这里利用了private
,public
,static
等修饰符来实现这一模型。
代码如下
using System;
namespace ConsoleApp12单例
{
class Singleton
{
private static Singleton onlyone = new Singleton ();
private string name;
public static Singleton GetSingleton () {
return onlyone;
}
private Singleton () {
}
}
class Program
{
static void Main (string[] args) {
Console.WriteLine ("Hello World!");
Singleton s1 = Singleton.GetSingleton ();
Singleton s2 = Singleton.GetSingleton ();
if (s1 == s2) {
Console.WriteLine ("s1 is equals to s2!");
}
}
}
}