1

我们正在使用 MVC 模式构建一个网站。到目前为止,我们构建的所有页面都使用了必须对参考数据进行操作的模型(这些数据在网站第一次加载时被缓存)。但是现在我们已经到了必须处理事务数据(特定于该流程)的流程阶段。到目前为止,我们通过提供所有数据来创建模型类,因为它们都已经被缓存了。但是现在我们必须处理事务数据,我们应该做同样的事情,即我们预先获取所有数据并创建一个模型对象,还是应该让模型类通过调用服务来获取数据。

4

4 回答 4

1

If you're truly using MVC, then your controller should intercept the particular action that should be taken, invoke any data-related requests, and shove the data into your model objects so that the model can then be placed into the view. There is very little benefit to having the model populate itself from a database, because you already have a controller which can do the job in a more cohesive manner.

于 2008-10-06T13:07:51.857 回答
1

在真正的 MVC 中,模型负责更新自身以响应来自控制器的指令。因此,是的。模型,并且只有模型,应该进行服务调用

于 2009-01-02T11:17:51.363 回答
0

第一种方法的缺点是可能永远不会使用预先获取的数据。所以我们采用了模型获取数据的第二种方法。为了解耦模型和服务调用,我们使用了一个接口。欢迎替代品。

于 2008-10-02T17:06:28.293 回答
0

模型对象是通过对数据库的查询来构建的。这是一般的方法。

模型对象可以通过对其他服务器和数据库的 Web 服务请求来构建。这几乎是一样的。

如果——为了一些性能调整——你预先构建了所有的模型对象,很好。那是个特例。

我更喜欢使用 ORM 层来处理对象缓存,所以我不预取任何东西。相反,它保留在 ORM 缓存中。

于 2008-10-02T17:58:38.747 回答