如何用 C# 实现单例设计模式?
单例模式属于创建型模式
当我们需要确保特定类的对象仅被实例化一次时,使用单例设计模式。创建的单个实例负责协调整个应用程序中的操作。
作为实现准则的一部分,我们需要确保类只有一个实例,方法是将类的所有构造函数声明为私有的。此外,为了控制单例访问,我们需要提供一个静态属性,该属性返回对象的单个实例。
示例
Sealed 确保类的继承和对象实例化在派生类中受到限制
用 null 初始化的私有属性
确保仅创建对象的一个实例
基于 null 条件
私有构造函数确保对象没有在类本身之外实例化
可通过单例实例调用的公共方法
public sealed class Singleton {
private static int counter = 0;
private static Singleton instance = null;
public static Singleton GetInstance {
get {
if (instance == null)
instance = new Singleton();
return instance;
}
}
private Singleton() {
counter++;
Console.WriteLine("Counter Value " + counter.ToString());
}
public void PrintDetails(string message) {
Console.WriteLine(message);
}
}
class Program {
static void Main() {
Singleton fromFacebook = Singleton.GetInstance;
fromFacebook.PrintDetails("From Facebook");
Singleton fromTwitter = Singleton.GetInstance;
fromTwitter.PrintDetails("From Twitter");
Console.ReadLine();
}
}输出
Counter Value 1 From Facebook From Twitter
广告
数据结构
网络
关系型数据库管理系统
操作系统
Java
iOS
HTML
CSS
Android
Python
C 编程
C++
C#
MongoDB
MySQL
Javascript
PHP