C# 为';这';在C中#
我正在浏览一些代码,我遇到了一些对我来说很奇怪的东西。下面是一个正在做的简短示例C# 为';这';在C中#,c#,singleton,C#,Singleton,我正在浏览一些代码,我遇到了一些对我来说很奇怪的东西。下面是一个正在做的简短示例 namespace some.namespace { public abstract class ClassName { private static ClassName _instance = null; private static ClassName Instance { get {
namespace some.namespace
{
public abstract class ClassName
{
private static ClassName _instance = null;
private static ClassName Instance
{
get
{
return _instance;
}
set
{
_instance = value;
}
}
public ClassName ()
{
if(Instance != null)
{
return;
}
Instance = this;
}
}
}
有什么好的理由让我失踪吗?在整个代码中,都有对ClassName.Instance….
的引用,这是一个名为
在软件工程中,单例模式是一种设计模式
它将类的实例化限制为一个对象。这是
仅当需要一个对象来跨多个对象协调操作时非常有用
系统
From.这是
单例模式的一个非常简单的实现。有关该主题的深入讨论,请参阅。就像其他人已经回答的那样:这是一种单例模式。但它也有一些缺陷
它不是线程安全的
它的构造函数是公共的,这意味着它并不真正服务于单例原则:确保类只有一个实例。您只需创建您想要的任意数量
这个班没有封条。这意味着您可以从这个类继承,并愉快地从子类构建实例
有关此主题的完整信息,请参阅“关于单例”。这是单例模式。它是半个单例。通常构造函数是私有的/受保护的,实例是公共的。现在我知道它叫什么了,这就很有意义了。谢谢这显然是一个模糊且非常糟糕的singleton实现。摆脱它和/或用更好的实现替换。@TyCobb这是正确的。这种单例实现有一些缺陷。