不,这不是重复!
In MVVM viewModel a PersonViewModel wraps a Person model.
In MVC viewModel a PersonViewModel does/should not wrap a Person.
使用Automapper,否则它将是混合PersonViewModel 。
SO 上的 mvc alpha极客说
视图模型包装模型时,mvc不允许/不需要它的原因是什么?
我的问题的背景是:
当我不将我的模型包装在viewmodel中时,我必须将所有模型属性分配给控制器中的viewmodel属性。太乱了。然后人们告诉使用AutoMapper,这部分很好,部分可怕,因为现在我在AutoMapper配置文件类中有viewModel逻辑,并且我在视图模型中有viewModel逻辑。
现在我必须测试automapper和viewModels。我希望有一个一致的架构,我只测试viewModels,但我必须包装我的模型。
这就是我的问题的起源。
答案 0 :(得分:1)
完全允许,但它不是MVC结构的一部分。如果您开始使用视图模型包装数据模型,那么您就开始遵循MVVM。
您使用哪种模式取决于许多因素,并且通常很大程度上取决于您的个人偏好。因此,在使用一种模式而不是另一种模式时,没有什么本质上错误的,但这样做的目的是坚持使用某些原则来实现一致的体系结构。