我们提供安全,免费的手游软件下载!
单例模式是一种创建型设计模式,用于确保在一个类中只有一个实例,并提供一个全局访问点来获取该实例。在C#中,有多种方式来实现单例模式,每种方式都有其特定的使用场景和注意事项。
设计模式的作用主要体现在以下几个方面:
饿汉式单例是在类加载时就创建实例。优点是实现简单,但缺点是如果该实例不被使用会造成资源浪费。
///
/// 饿汉式单例模式
///
public class SingletonEager
{
private SingletonEager() { }
private static readonly SingletonEager _instance = new SingletonEager();
public static SingletonEager Instance
{
get { return _instance; }
}
public void DoSomething()
{
Console.WriteLine("饿汉式单例模式.");
}
}
懒汉式单例是在初次被访问时才创建实例。为了线程安全,通常需要使用锁机制。
///
{
private static SingletonLazy? _instance;
private static readonly object _lockObj = new object();
public static SingletonLazy Instance
如果您使用的是 .NET 4(或更高版本),可以使用Lazy类来实现线程安全的懒加载单例模式。
///
{
_lazy = new Lazy(() => new SingletonByLazy());
public static SingletonByLazy Instance { get { return _lazy.Value; } }
public void DoSomething()
https://mp.weixin.qq.com/s/FM0ThUR92EcXJ3YY313ifw
热门资讯