MVC,ViewModels,BLL,自上而下的互动

时间:2012-01-04 16:57:49

标签: asp.net-mvc model-view-controller architecture controller viewmodel

我正在尝试理解MVC是(或在其中)表示层的3层设计。具体来说,自上而下的交互概念如何与业务层,ViewModelBuilder和MVC控制器一起工作。

Controller本身应该访问BLL吗?

ViewModelBuilder在哪里适合这个?

我刚开始明白MVC中的Model实际上是ViewModel而不是Business或Persistence Model。我离开这里了吗?

1 个答案:

答案 0 :(得分:6)

您的困惑是因为无数的在线示例没有区分简单的MVC架构和仅作为大型企业架构中的UI层的架构。最有可能的是,你需要后者。

在任何真正复杂程度的应用程序中,是的,您需要将模型类视为视图模型,然后将它们映射回您的域模型。查看Automapper以帮助自动执行此操作。

这里有两篇非常好的文章,对我有帮助,我认为写得非常好:

http://blogs.msdn.com/b/simonince/archive/2010/01/26/view-models-in-asp-net-mvc.aspx

http://blogs.msdn.com/b/simonince/archive/2010/12/07/view-model-versus-domain-entity-validation-with-mvc.aspx