MVC:模型和实体对象是否分开概念?

Age*_*rum 6 model-view-controller entity model separation-of-concerns

我刚才在这里一些帮助理解MVC,因为我对这个话题很新.我认为我对它有一个很好的理解,这在我最近写的关于这个主题的博客文章中有记录.我的理解基本归结为:

控制器:确定完成请求需要执行的操作,并根据需要使用需要收集/修改的任何模型.它基本上是给定流程的管理者.

观点:仅限演示文稿.一旦控制器收集了它所需要的内容,它就会创建一个特定类型的视图,将信息交给它,并说"然后向用户显示这个视图".

模型:应用程序的行为.当控制器要求它提取或修改某些内容时,它知道如何操作.它还知道触发其他模型执行相关任务(在我的理解中,当模型试图在StackOverflow上"投票"时,该模型知道是否也应该因为它而授予徽章.控制器不会需要关心那个).

我的问题,假设所有这些或多或少准确,实体对象进来的地方?模型和实体是一样的,每个对象都知道如何持久保存自己的数据,或者实体是一个单独的概念,它们自己存在并在整个应用程序中使用?

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

说实话,我读的MVC越多,我就越困惑.我准备好采取核心概念(从逻辑中单独呈现)并以任何感觉正确的方式运行它,而不必过于担心"MVC"标签.

Fen*_*ton 5

是!

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

您不希望将视图绑定到实体,因为如果视图还需要其他一些数据,则必须将其添加到实体中.该模型完全支持该视图,并且关注支持该视图而不支持任何其他视图.

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

这就是您应该绑定到模型的原因,您可以根据需要随意添加数据项.

更新

以下是对MVC的解释......

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

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


Dr *_* TJ 0

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