【发布时间】:2013-12-05 13:14:42
【问题描述】:
我正在尝试学习 MVC 的本机,为此我正在创建一个使用这种模式的应用程序!
现在据我了解,M(模型)被认为是数据库链接。此链接与数据库中的 ONE 表相关。例如,数据库中的 User 表是代码中的 User 模型。这意味着与User table 相关的任何事情都是通过User Model 完成的。
现在在许多应用程序中,需要以 V (View) 形式显示来自不同数据库表的数据。
我的问题是。
如果需要显示的数据彼此之间没有关系(例如users 和products),“双重model 数据收集g”应该在哪里发生?据我所知,Controllers 应该尽可能的纤细。但它们也应该作为具有模型和视图的绑定组件。
如果view 需要来自多个model 的数据,应该controller 完成工作还是应该由model 完成工作?
完整描述我的意思有点棘手,但我希望你能明白。
另外,如果上述任何陈述不正确,请纠正我。
【问题讨论】:
-
看,重点是你的第一个假设不太准确。模型类和数据库表之间没有强制关系(一对一或任何其他关系)。模型的类应该是对您的业务有意义的“单元”(或“事物”),而不是表格(参见Anemic Domain Model)。因此,如果您在
users和products之间存在对您的业务有意义的关系,那么即使没有具有该名称的表,模型/域中也应该有一个机制(可能是一个类)来处理它。
标签: design-patterns model-view-controller