MVVM ViewModels Singleton

时间:2011-02-15 16:01:03

标签: .net wpf design-patterns mvvm

如果您不需要每个屏幕的多个实例,那么让所有viewModel单例化是错误的做法吗?

3 个答案:

答案 0 :(得分:10)

是的,因为singletons are evil

您可能会遇到VM处于状态的问题,这些状态可能与您的数据库不同步并导致过多的内存消耗。 由于状态持续存在,单元测试会更加困难。

答案 1 :(得分:5)

单身:

  • 使测试更难
  • 如果你确实需要其中一个
  • ,那么以后会给你一些问题
  • 很难控制它们的创建地点

所以如果你有非常好的理由,那么只使用单身模式 - “因为你可以”不是一个好的理由。

答案 2 :(得分:2)

首先,根据单例实现,您可能会将自己置于任何可扩展性的角落。其次,设计可能不会很干净,指的是各处的静态单例。第三,单元测试要么很难,要么不会复制实际的类使用,或两者兼而有之。第四,让单身人士为你解决任何设计问题吗?如果你只是想节省资源,那么我就会忘记它。