单例模式是软件工程中最著名和最简单的设计模式之一。简单来说,单例是一个类,它只允许创建自身的单个实例。有多种不同的方法可以在 C# 中实现这种模式。在本文中,将向您展示如何用最少的代码实现单例设计模式。
public class LoginForm
{
private static bool instance_flag = false;
// Private Constructor to block direct object creation
private LoginForm()
{ }
public static LoginForm instance()
{
if (instance_flag)
{
return null;
}
else
{
instance_flag = true;
return new LoginForm();
}
}
// Class Destructor to reset instance_flag
~LoginForm()
{
instance_flag = false;
}
}
以下 C# 控制台应用程序展示了如何使用单例 LoginForm 类。第一个对象 f1 被正确创建,而尝试创建第二个实例 f2 将返回 null。
class Program
{
static void Main(string[] args)
{
LoginForm f1 = LoginForm.instance();
Console.WriteLine(f1);
LoginForm f2 = LoginForm.instance();
Console.WriteLine(f2);
Console.Read();
}
}