【发布时间】:2010-10-13 15:04:03
【问题描述】:
我有一个我认为不应该是单例或静态类的类。它有状态,尽管状态 可以 由消费者共享。当存在共享状态时,我喜欢远离单例,但我听到的论点是,我将通过在任何给定时间只存在一个对象实例来获得性能优势。
在我的特定情况下,与此对象相关联的数据并不多——两个字典(最多)每个字典中有 150 个条目。
在什么时候——如果有的话——性能论点有什么价值?
仅供参考 - 我正在使用 .NET。
谢谢!
【问题讨论】:
-
这个论点有没有提到为什么单例在任何情况下都会更快?否则,以您的代码为基础似乎是一种信念的飞跃。
-
免责声明 - 我不相信这个论点(因此提出了问题),但是:1.)如果只能存在 1 个实例,内存占用会更小,2.)实例化新实例的开销如果对象只构造一次,则实例会减少。
-
创建新对象的成本是多少。支持性能声明必须非常昂贵
标签: .net performance oop static singleton