代码之家  ›  专栏  ›  技术社区  ›  sipsorcery

在MVC中使用域模型和视图模型(又称automapper)的设计模式名称是什么?

  •  1
  • sipsorcery  · 技术社区  · 14 年前

    是否有涉及域模型和视图模型的MVC的软件设计模式的名称?这是当一个工具 AutoMapper 被雇用。

    我试图向一些程序员解释这种设计的优点,并称之为MVVM,但我现在的观点是不正确的,MVVM模式是视图阶段为了自己的目的而优化模型,而不是改变控制器和视图之间传递的内容。

    当然,这一切都会与M和V的数量混淆起来,我想我应该问问专家,而不是被束缚在更多的绳结中。

    3 回复  |  直到 14 年前
        1
  •  2
  •   John Farrell    14 年前

    它叫MVC。不,说真的。你网站的模型恰好被称为viewmodels。

    MVC并没有说模型应该是什么,只是说它应该如何与M和C交互。

        2
  •  2
  •   Nilesh Gule    14 年前

    正如您可能已经阅读或体验到的那样,automapper用于映射对象。当涉及到MVC时,V(视图)和C(控制器)非常清晰。使许多人困惑的是M(模型)。MVC并没有强调如何构建模型。您可以通过运行一个直接的SQL查询或使用诸如nhibernate或linq2sql之类的ORM工具或您选择的实体框架来构造您的模型。

    如果你真的想把关注点分开,你可以向前迈出一步,做大多数人做的事情。您可以引入存储库模式来处理可以使用服务检索的模型数据。在这种情况下,automapper会出现在需要将实体和dto映射到的图片中。

    我认为不需要简化从服务层构建模型的方法。在这种情况下,正常的MVC也是有效的:)

        3
  •  0
  •   sipsorcery    14 年前

    “相关”的问题给了我最好的答案。

    设计模式在本文中定义得相当好 How we do MVC – View models 合适的Monica似乎是MVC视图模型或MVC-VM。