MVVM ViewModels Singleton

Who*_*nja 14 .net wpf design-patterns mvvm

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

Tom*_*eld 11

是的,因为单身人士是邪恶的.

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

  • @Tom,不要所有控制框架的反转都至少有一个单例 - 你只需要知道所有单例都是eval (5认同)
  • 我会看一些关于Prism或Caliburn的文章,并使用像Unity这样的控制框架反转来为你解析和实例化视图模型.http://msdn.microsoft.com/en-us/magazine/cc785479.aspx (2认同)

Ian*_*ose 5

单身:

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

因此,如果你有充分的理由,只能使用单身人士模式- "因为你可以"并不是一个好的理由.