gpt4 book ai didi

c# - 单例设计模式的优点是什么

转载 作者:太空狗 更新时间:2023-10-29 20:53:06 28 4
gpt4 key购买 nike

每个人都知道如何为单例设计模式编写代码。例如

public class Singleton  
{
// Private static object can access only inside the Emp class.
private static Singleton instance;

// Private empty constructor to restrict end use to deny creating the object.
private Singleton()
{
}

// A public property to access outside of the class to create an object.
public static Singleton Instance
{
get
{
if (instance == null)
{
instance = new Singleton();
}
return instance;
}
}
}

很明显,当我们多次创建任何类的实例时,会为每个实例分配内存,但在单例设计模式的情况下,单个实例会为所有调用提供服务。

1) 我有点困惑,真的没有意识到原因是什么……什么时候应该选择单例设计模式。只是为了节省一些内存或任何其他好处。

2) 假设任何一个程序都可以有很多类,那么哪些类应该遵循单例设计模式?单例设计模式有什么优势?

3 在现实生活中的应用程序中,什么时候应该按照单例设计模式创建任何类?谢谢

这里是线程安全的单例

public sealed class MultiThreadSingleton   
{
private static volatile MultiThreadSingleton instance;
private static object syncRoot = new Object();

private MultiThreadSingleton()
{
}

public static MultiThreadSingleton Instance
{
get
{
if (instance == null)
{
lock (syncRoot)
{
if (instance == null)
{
instance = new MultiThreadSingleton();
}
}
}

return instance;
}
}
}

最佳答案

确保每次只有一个相同的对象实例。

举个例子,假设有一个公司应用程序,只有一个 CEO。如果你想创建或访问 CEO 对象,你应该每次都返回相同的 CEO 对象。

另外,在登录应用程序后,当前用户每次都必须返回相同的对象。

关于c# - 单例设计模式的优点是什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12901734/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com