我正在尝试理解MVC是(或在其中)表示层的3层设计。具体来说,自上而下的交互概念如何与业务层,ViewModelBuilder和MVC控制器一起工作。
Controller本身应该访问BLL吗?
ViewModelBuilder在哪里适合这个?
我刚开始明白MVC中的Model实际上是ViewModel而不是Business或Persistence Model。我离开这里了吗?
答案 0 :(得分:6)
您的困惑是因为无数的在线示例没有区分简单的MVC架构和仅作为大型企业架构中的UI层的架构。最有可能的是,你需要后者。
在任何真正复杂程度的应用程序中,是的,您需要将模型类视为视图模型,然后将它们映射回您的域模型。查看Automapper以帮助自动执行此操作。
这里有两篇非常好的文章,对我有帮助,我认为写得非常好:
http://blogs.msdn.com/b/simonince/archive/2010/01/26/view-models-in-asp-net-mvc.aspx