单身人士的概念让我很难过。实际上是单例类,为什么使用它?有没有必要使用单例类?我实际上对单例类不太了解,只是“它是一个只对象初始化一次的类”。 static和readOnly ... blaw blaw ...单身类的概念究竟是什么?每当我研究单身人士课时,我都会看到这个代码。
public class Singleton
{
private static Singleton instance;
private Singleton() { }
public static Singleton Instance
{
get
{
if (instance == null)
instance = new Singleton();
return instance;
}
}
//instance methods
}
请帮助我理解OOP中的单例类或单例概念。请帮帮我。提前谢谢。
答案 0 :(得分:2)
单例模式的想法是只存在一个实例。
使用的一个示例是您拥有使用远程服务的许可,但任何时候只能使用有限数量的查询。单例的客户端可以自由地发出请求,而不必担心过多调用服务器的许可证影响,并且单例管理将操作放入队列并确保满足许可条款。而且因为只能有一个单身人士,所以你肯定永远不会违反许可条款。
答案 1 :(得分:1)
单例模式是一种设计模式,它将类的实例化限制为一个对象。 当需要一个对象来协调整个系统的操作时,这非常有用。
示例:如果您的类具有int索引。查看obj3中索引的值
NonSingleton obj1 = new NonSingleton();//obj1.index = 0
NonSingleton obj2 = new NonSingleton();//obj2.index = 0
obj2.index = 11;
NonSingleton obj3 = new NonSingleton();//obj3.index = 0
Singleton obj1 = Singleton.Instance;//obj1.index = 0
Singleton obj2 = Singleton.Instance;//obj2.index = 0
obj2.index = 11;
Singleton obj3 = Singleton.Instance;//obj3.index = 11
此外,单例允许访问单个创建的实例 - 该实例 (或者更确切地说,对该实例的引用)可以作为参数传递 其他方法,并视为普通对象。
静态类只允许使用静态方法。