每个人都知道如何为 Singleton Design Pattern.say 编写代码
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;
}
}
}