MVC:数据模型和视图模型

2024-01-05

我过去读过一些关于模型的 MVC 建议,指出不应为域和视图重用相同的模型对象;但一直找不到愿意讨论的人why这不好。

我认为,创建两个单独的模型 - 一个用于域,一个用于视图 - 然后在它们之间进行映射会产生大量重复,加上繁琐的映射代码(其中一些可以通过诸如自动映射器 http://www.lostechies.com/blogs/jimmy_bogard/archive/2009/01/22/automapper-the-object-object-mapper.aspx)这可能很容易出错。

是什么让为这两个问题建立一个单独的模型值得重复和映射代码的麻烦?


从本质上讲,两个模型都是关于关注点分离的。我希望我的视图能够在单个模型上工作。我希望我的领域模型能够代表我与领域专家一起构建的概念模型。 ViewModel 通常存在技术限制。域模型是关于 POCO 的,并且不受显示(视图)或持久化(在数据库中或其他方式)数据的技术约束的约束。

假设屏幕上显示了三个实体。这是否意味着我需要强制三者之间建立关系?或者只是创建一个包含所有三个项目的 ViewModel 组件对象。使用单独的 ViewModel,视图问题与我的域分离。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

MVC:数据模型和视图模型 的相关文章

  • ASP.NET MVC C#:将多个表/查询中的数据引入视图中

    好吧 我仍在掌握 ASP NET 和 MVC 框架的窍门 并将我的知识从经典的 ASP 和 VB 转换过来 所以请保持温柔 我的第一个视图 home details X 运行良好感谢之前的帮助为我指明了正确的方向 https stackov
  • 如何在 Rails 4 中“link_to”完整路径?

    这是我的代码 a a 从上面
  • 就MVC模式而言,Struts 2中使用的Action是什么?

    在Struts2中 控制器将请求分派给Action Action将其传递给后端逻辑 这可以看作是一个非常大的过程 model 处理请求 JSP代表视图 Struts2中如何定义Action 肯定是not一个看法 是控制器还是模型 Strut
  • 使模型绑定适用于没有默认构造函数的模型

    我一直在试图找到一种方法 让模型绑定与带有参数的构造函数的模型一起进行 那个行动 HttpPost public ActionResult Create Company company HttpPostedFileBase logo com
  • 有没有一种巧妙的方法来获取表示层中背景图像的归属?

    我有一张由 CSS 引入的 CC BY 图像 用作背景 这张图片纯粹是为了它的外观 绝对不是内容 我需要在某个地方对此图像进行归属 显然最好将此归属链接到提供该图像的好心人 但是 我真的不想将链接文本放入 HTML 中 因为这会破坏实际内容
  • mvc 中的模型(最佳实践,PHP)

    我知道有很多关于 MVC 和最佳实践的文章和问题 但我找不到这样的简单示例 假设我必须用 PHP 开发一个 Web 应用程序 我想遵循 MVC 模式 没有框架 该应用程序应该有一个简单的书籍 CRUD 我想从控制器获取我商店中的所有书籍 保
  • zend框架找不到模型类?

    Yall 我有一个简单的问题 这可能是一个简单的配置问题 但是 我定义了一个模型 当我尝试从控制器访问它时 失败 模型位于模型目录中 当我查看快速启动应用程序时 看来这应该可行 这是我的模型 我的控制器停止了 这是控制器代码
  • 如何阻止 Django 中发生级联删除?

    我的 Django 应用程序中有三个模型类 class Folder models Model folder models ForeignKey Folder null True blank True related name folder
  • 无法在 VB MVC 应用程序中创建 HtmlHelper 方法

    我无法弄清楚以下代码中缺少什么 我有一个应该添加 虚拟 辅助扩展的方法 Imports System Runtime CompilerServices Namespace HtmlHelpers Public Module HelpExte
  • 从 Zendframework 2 中的布局调用模型中的方法

    我尝试在 Zendframework 2 中调用模型表单布局中的方法来显示一些用户特定的内容 我尝试在 Module php 的 init 和 onBootstrap 中执行此操作 并尝试声明一些将在 layout phtml 中可用的变量
  • 设置 MVC 下拉列表中日期的格式

    我的页面上有一个下拉列表 如下所示 Html DropDownList dd dates new SelectList Model seasonDates Please Select 其中 seasonDates 是日期的 IList 问题
  • 如何在asp.net mvc中创建弹出窗口?

    无需使用 javascript AJAX 单击超链接时 应该打开一个新的浏览器窗口 基本 HTML 锚元素 a href http www w3schools com target blank Visit W3Schools a ASP N
  • 如何在 Zend MVC 中实现 SSL

    我之前已经通过使用特定的安全文件夹 例如服务器上的 https 文件夹与 http 文件夹 实现了安全页面 我已经开始使用 Zend Framework 并希望应用程序的某些部分 例如登录 使用 https 我在谷歌上搜索过 甚至在这里搜索
  • IIS7 和 MVC 2 出现 403.14 错误 已尝试了所有建议的修复方法

    ASP Net 4 框架上的 MVC 2 项目 我尝试在 IIS7 上设置它 但出现 403 14 错误 是的 我尝试了微软的修复 它启用了目录浏览 但与我想要的完全错误 是的 我运行了 aspnet regiis i 不 它仍然无法正常工
  • “纯”MVC 实现有多大用处?

    我在一家提供类似 CRM 的定制软件的公司工作 我们目前正在重新设计 重新开发该软件 希望它看起来更现代 并且更容易为未来的客户开发和定制 目前 定制每个新应用程序都需要很长时间 有一种假设是 花费这么长时间的原因是 视图 层中存在大量业务
  • Spring MVC http 500错误apache

    上面是我的程序的目录层次结构 我是 Spring 新手 正在学习 MVC 概念 我编写了一个程序 它将输入 名称 输入文本框并打印 Hello name 以下是我的目录结构和我创建的各种文件 web xml
  • 在django中将子类模型实例转换为另一个子类模型实例?

    我有一个 ModelBase ModelA ModelB 我想将模型实例更改为模型实例 我可以处理他们的属性差异 我看过相关问题 但对我来说不太有用 如何从现有的基本模型实例创建继承的 django 模型实例 https stackover
  • Django 模型:如何使用 mixin 类来覆盖 django 模型以实现 save 等功能

    我想在每次保存模型之前验证值 所以 我必须重写保存函数 代码几乎是一样的 我想把它写在 mixin 类中 但失败了 我不知道如何写 super func 我英语不好 抱歉 class SyncableMixin object def sav
  • 具有模型目录和AUTH_USER_MODEL

    I have myApp models profiles py代替myApp models py 对相关模型进行分组 你怎么设置AUTH USER MODEL在这种情况下 因为 auth 只接受 foo bar 模式 app label m
  • MVC 框架中的缓存策略?

    我编写了自己的小型 PHP MVC 框架 现在正在探索 PHP MVC 框架中的缓存策略 我正在考虑可以缓存什么 在哪里以及如何缓存 我的框架是简单的MVC框架 我有前端控制器 它启动应用程序 注册类自动加载 设置 php 运行时指令 最后

随机推荐