在决定使用singleton还是使用静态类时,请列出设计注意事项。在这样做的时候,你不得不对比这两者,所以无论你能想出什么对比,在展示你的思维过程时都是很有用的!此外,每个面试官都喜欢看到例证。:)
发布于 2008-09-30 00:43:22
可以延迟加载从其他classes.
发布于 2010-01-19 02:27:41
“两者都要避免”怎么样?单例和静态类:
使隔离单元测试类变得困难
相反,应该研究一下Dependency Injection和Inversion of Control Container库。有几个IoC库将为您处理生命周期管理。
(和往常一样,也有例外,比如静态数学类和C#扩展方法。)
发布于 2008-09-05 18:51:31
我认为唯一的区别是语法: MySingleton.Current.Whatever()和MySingleton.Whatever()。正如David提到的,在这两种情况下,状态最终都是“静态的”。
编辑:埋葬大队来自于迪格...无论如何,我想到了一个需要单例的情况。静态类不能从基类继承,也不能实现接口(至少在.Net中不能)。因此,如果您需要此功能,则必须使用单例。
https://stackoverflow.com/questions/46541
复制相似问题