gpt4 book ai didi

c# - 我应该为每个 View 创建 ViewModel 吗?

转载 作者:行者123 更新时间:2023-12-02 20:32:40 26 4
gpt4 key购买 nike

我是编程新手,也许我的问题很愚蠢,但我尝试正确理解这个概念。在我的小asp.net core Web应用程序我有实体类,例如产品,这些产品的计量单位。我使用 Entity Framework 将它们存储在数据库中。我的实体非常简单,我将它们直接传递到 View (将它们从存储库中拉出)。我的导师说,在大型严肃项目中,人们永远不会这样做,这根本不正确,在编写良好的代码中, View 层根本不应该了解实体和数据层,它们应该完全独立。这是否意味着我应该为每个 View 创建 ViewModel 类,即使它们等于我的实体类?该主题的最佳实践是什么?

最佳答案

你绝对不应该这样做。这类全局规则很少适用。

让我们看看 MVVM pattern :

A criticism of the pattern comes from MVVM creator John Gossman himself,[12] who points out that the overhead in implementing MVVM is "overkill" for simple UI operations.

我认为这回答了您关于为所有内容创建 View 模型的问题。

如果模型不适合 View 或足够复杂,那么您可以使用 ViewModel。

你的导师的想法(我猜)是你应该始终考虑域对象而不是数据库对象。但正如您将在任何示例中看到的那样,如果适合 View ,就没有理由不直接使用 db 中的 POCO 对象。

关于c# - 我应该为每个 View 创建 ViewModel 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60182397/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com