【发布时间】:2012-02-24 09:51:15
【问题描述】:
单例应该是可继承的还是不应该是?
根据 Gof “当唯一的实例应该可以通过子类化扩展时,客户端 应该能够在不修改其代码的情况下使用扩展实例。”
但是为什么我会在 MSDN 上看到 Sealed 和 Private 构造函数示例
【问题讨论】:
-
您使用单例的原因是什么?尽量不要。
-
阅读单例标签维基。 stackoverflow.com/tags/singleton/info
-
@Adrian:好吧,我认为如果我不密封单例类,初级程序员可能会继承它并可能破坏单例模式导致子类单例的多个实例化,这就是为什么它应该被密封.
-
但是我看到 Gof “实例应该可以通过子类化来扩展”。
-
"如果你想将继承与单例模式结合使用,你应该将可继承的状态和行为放入一个抽象基类中,并将单例定义为(最终)子类。"取自stackoverflow.com/questions/2573492/…
标签: c# design-patterns inheritance singleton