ASP.NET MVC,模型和视图模型关注分离? [英] ASP.NET MVC, Model and ViewModel separation of concerns?

查看:131
本文介绍了ASP.NET MVC,模型和视图模型关注分离?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

最近,我一直在探索什么是组织ASP.NET MVC应用程序的presentation层时,底层的模型是复杂的最佳途径。什么想出到目前为止是MVVM架构的视图模型对象。但是,我不知道什么是最好的做法,当这种架构是如此。

Lately, I've been exploring what's the best way to organize presentation layer of ASP.NET MVC application when underlying Model is complex. What came up till now is MVVM architecture with their ViewModel objects. However, I'm not sure what are the best practices when this kind of architecture is in case.


  • 视图模型是否对象可以包含模型对象?

  • 如果MVVM使用,它是可取的模型对象在视图中使用?

  • 其中,验证应实行,在视图模型或模型类的?

  • 如果业务层(服务层)了解视图模型,谁负责的ViewModel和Model?
  • 之间的映射

推荐答案


  • 大部分的时间,模型视图对象仅仅拿着容器模型对象时,我们需要发送多种类型的人,或者当我们需要通过这些夫妇只需要查看更多属性。

  • 如果视图的工作是显示一个模型的细节并没有什么别的传递给视图,为什么不呢?

  • 依赖。您可以使用模型视图和模型类只是携带层之间的数据。并通过对自定义模型粘合剂或服务层照顾验证。

  • 有没有理由,为什么他们不应该知道的ModelViews。但通常你只是从控制器服务层得到所要求的模式(S),然后直接或在模型视图以查看它传递/他们。

BTW,我不会考虑ModelViews作为一个架构。它更像是使用一个在您需要时。毕竟,有一个在做这将数据传递给视图没有一点:

BTW, I wouldn't consider ModelViews as an architecture. It's more like "use one when you need one". After all, there's no point in doing this to pass data to view :

class SomeModelView {
    public MyModel model { get; set; }
}

只是通过为MyModel 如果这是不够的,以完成其工作。

Just pass the MyModel if that's enough for the view to do its job.

这篇关于ASP.NET MVC,模型和视图模型关注分离?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆