将MVC与域模型和视图模型结合使用的软件设计模式有名称吗?这是使用像AutoMapper这样的工具时使用的模式。
我试图向一些程序员同事解释这种设计的优点,并将其称为MVVM,但我现在认为这是不正确的,MVVM模式是视图阶段为了自己的目的而改进模型,而不是改变控制器和视图之间传递的内容。
当然,这一切都会让M和V的数量感到困惑,而不是被更多的结所束缚,我想我应该请教专家。
发布于 2010-09-03 09:55:56
“相关”的问题给了我最好的答案,我想我会得到的。
设计模式在文章How we do MVC – View models中定义得相当好,适当的monica似乎是MVC-ViewModel或MVC-VM。
发布于 2010-09-03 07:58:07
它被称为MVC。不,说真的。你网站的模型恰好被称为ViewModels。
MVC没有说明模型应该是什么,只是说明它应该如何与M和C进行交互。
发布于 2010-09-03 10:57:45
正如您可能读到或经历过的那样,Automapper用于映射对象。当涉及到MVC时,V(视图)和C(控制器)是非常清楚的。让许多人感到困惑的是M(模型)。MVC并没有把重点放在如何构建模型上。您可以通过运行直接的SQL查询或使用诸如NHibernate、LINQ2SQL或您选择的实体框架之类的对象关系映射工具来构建模型。
如果你真的想分离这些关注点,你可以先走一步,做大多数人都会做的事情。您可以引入存储库模式来处理可以使用服务检索的模型数据。这就是Automapper需要映射实体和Dto的情况。
我不认为有任何必要简化这种从服务层构建模型的方法。正常的MVC在这种情况下也是有效的:)
https://stackoverflow.com/questions/3632121
复制相似问题