c# - 总是在 MVC 中使用 ViewModel 模式?

标签 c# asp.net-mvc asp.net-mvc-5 asp.net-mvc-viewmodel

<分区>

在 Controller 的 MVC 中,您应该从数据库中获取模型并将其转换为 View 模型,然后再将其发送到 View 。通常使用类似 Automapper 的东西。

我的问题是,如果您需要在 View 中按原样显示模型的所有属性,是否值得创建一个 ViewModel?

如果 Model 和 ViewModel 需要相同,那么创建 ViewModel 会为应用带来一些安全性或好处,还是我们只会增加不必要的复杂性?

最佳答案

使用 View 模型的目的通常是因为您的 View 需要的信息比您的域模型提供的信息多/少。

其他好处包括将您的 View 与您的领域分离,如果您的领域发展,这可能会导致脆弱性。

关键在于,它们不是必需品; View 模型的目的是为 View 提供呈现自身所需的信息,如果您觉得应用中的 View 模型是多余的,请不要使用它。但是,我至少会考虑使用接口(interface)来避免耦合。

关于c# - 总是在 MVC 中使用 ViewModel 模式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23723270/

相关文章:

c# - 在 AWS Lambda 上使用 System.Drawing.Common NuGet 包时无法加载 DLL 'libdl'

c# - 运行 Visual Studio 单元测试与运行 ReSharper 单元测试,有什么区别?

c# - 在 linqQuery 中只返回部分字符串

.net - Orchard CMS性能

c# - 需要一个非常定制的大型 Winforms 网格

asp.net-mvc - 哪个更正确 : using UpdateModel() or receiving a model as a parameter?

jquery - AJAX 验证思路 - 完成 ValidationSummary 和 ValidationMessage

c# - 如何在 Razor 中单击按钮更改我的模型值?

c# - 验证我的MVC错误处理

javascript - 如何清除 MVC View 中 Kendo Js 中的所有文本框?