1.构造方法私有化
2.声明一个本类对象
3.给外部提供一个静态方法获取对象实例
有两种实现方式
C#代码案例:
namespace Singleton
{
class Program
{
static void Main(string[] args)
{
singleton1 s = singleton1.getInstance();
s.show();
singleton2 s1 = singleton2.getInstance();
s1.show();
}
}
//单利设计模式之一
class singleton1
{
//定义本类并实例化
private static singleton1 s = new singleton1();
//构造方法私有化
private singleton1() { }
public static singleton1 getInstance()
{
return s;
}
public void show()
{
Console.WriteLine("单例设计模式之一");
}
}
//单例设计模式之二
class singleton2
{
private static singleton2 s = null;
//构造私有方法
private singleton2() { }
public static singleton2 getInstance()
{
if (null == s)
{
s = new singleton2();
}
return s;
}
public void show()
{
Console.WriteLine("单例设计模式之二");
}
}
}