6

前段时间我在这里询问了一些关于理解 MVC 的帮助,因为我对这个话题很陌生。我以为我对它有一个不错的理解,这在我最近写的一篇关于这个主题的博客文章中有记录。我的理解基本上可以归结为:

控制器:确定需要做什么来满足请求,并根据需要利用它需要收集/修改的任何模型。它基本上是给定流程的管理者。

视图:仅演示。一旦控制器收集到它需要的东西,它就会创建一个特定类型的视图,将信息传递给它,然后说“不管你怎么做都给用户展示”。

模型:应用程序的行为。当控制器要求它提取或修改某些东西时,它知道如何去做。它还知道触发其他模型来执行相关任务(据我了解,当模型尝试在 StackOverflow 上“为某事投票”时,该模型知道询问是否也应该因此授予徽章。控制器不需要关心)。

我的问题是,假设所有这些或多或少是准确的,实体对象是从哪里来的?模型和实体是同一回事,每个对象都知道如何保存自己的数据,还是实体是独立存在并在整个应用程序中使用的独立概念?

我的钱是后者,因为这将允许模型独立运行,而所有三层(模型、视图和控制器)都可以根据需要利用实体来传递数据。此外,对象和数据库持久性似乎是应该分开的问题。

老实说,我对 MVC 的了解越多,我就越困惑。我已经准备好接受核心概念(将表示与逻辑分开)并以任何感觉正确的方式运行它,而不必太担心“MVC”标签。

4

2 回答 2

5

是的!

我的钱是后者,因为这将允许模型独立行动

您不想将视图绑定到实体,因为如果视图还需要其他一些数据,则必须将其绑定到实体。该模型完全支持该视图,并且只关心支持该视图而不是其他任何东西。

例如,您显示您的实体列表,您可能需要哪些其他数据?当前页码?总页数?要显示的自定义消息?

这就是为什么您应该绑定到模型,您可以根据需要自由地添加数据项。

更新

这是对 MVC 的解释...

控制器获取请求所需的所有数据并将其放入模型中。然后它将模型传递给视图。

然后视图处理模型中数据的布局。

于 2010-09-29T07:42:39.780 回答
0

每个模型可以是一个实体,其中包含一些控制和使用其数据的方法。
够了吗?

于 2010-09-29T07:42:31.857 回答