gpt4 book ai didi

c# - 实体 vs 模型 vs View 模型

转载 作者:IT王子 更新时间:2023-10-29 04:03:06 27 4
gpt4 key购买 nike

我只是花了一些时间阅读这些术语(我不经常使用它们,因为我们没有任何 MVC 应用程序,我通常只说“模型”),但我觉得根据上下文,这些意味着不同的东西:

实体

这很简单,它是数据库中的一行:

2) In relation to a database , an entity is a single person, place, or thing about which data can be stored.



型号

我经常读到,这基本上是表示完整数据集的实体组合,假设客户的地址列表模型将结合实体客户、地址和可能的个人。

View 模型

MVVM 或 MVC 模式中的一个术语,它是一种模型,它准确地表示您可以在 View 上看到的数据。 View 模型位于应用程序层并具有用于验证的属性,例如 ASP.NET MVC Model vs ViewModel

在我看来,这些术语似乎有点多余:Viewmodel 显然有他的用处,否则 View 将不得不做所有艰苦的工作来显示正确的东西。实体只是表示,正如我们从 EF 所知道的那样,但是如果将这两者结合起来,那么他的模型在哪里使用?

必须在 ViewModel 上完成验证、安全等工作。当您有数百个小表在实体和 View 模型之间放置另一个抽象时,您会使用模型吗?或者 MVC 和 MVVM 实体和模型通常相同吗?

像往常一样谢谢,周末愉快

马蒂亚斯

最佳答案

不同的人对这些术语的理解略有不同,但我是这样理解的:

实体 - 具有身份 (ID) 的对象,通常来自数据库。很简单的类。

模型 - 任何业务对象,这是一个广义的术语。它可以是一个实体,也可以是您在项目中创建的一些自定义类等。它几乎是所有不是 View 也不是 Controller / View 模型的东西。

ViewModel - 模型和 View 之间的某种中介。它调节模型和 View 之间的通信,例如应用验证、将更多模型组合成一个更大的对象等,以便与特定 View 进行交互。 ViewModel 还负责事件处理(例如按钮鼠标单击),因此它将命令公开给您绑定(bind)到的 View (WPF)。

关于c# - 实体 vs 模型 vs View 模型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26563444/

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