ViewModel和Singleton模式

Car*_*s00 8 .net c# entity-framework mvvm

我有一个ViewModel用于枚举处理(实体框架中的实体很少).

1)哲学上,对这个ViewModel使用SINGLETON PATTERN是一个好习惯,因为它在所有应用程序中都很普遍,而且它在许多地方使用.

2)ViewModel(及相关ObjectContext)长时间存在不是问题吗?

谢谢!

Jus*_*ner 8

这可能应该分解为两个单独的问题,但我会对两者都进行抨击:

  1. 不.没有理由认为ViewModel应该是Singleton.实际上,您需要多个实例(因为每个实例都会发生变化)而不是为应用程序运行而生存的单个实例.仅仅因为一个对象很普遍并经常使用它并不能使它成为单身人士的好选择......它只是意味着它是一个好的对象.

  2. ViewModels不应该有很长的生命周期(另一个原因是你不需要单例).在MVVM中,给定ViewModel的生命周期将与用户打开窗口并完成其更改一样长.

  • 嗨贾斯汀,谢谢。一个问题...我有 3-4 个窗口,它们的内容需要同步。需要付出一些努力才能做到这一点。我想,如果我有一个 ViewModel 作为单例,这个模式会自动重新绑定几个 DataContexts ... (2认同)