我正在尝试学习MVC的本机,为此我正在创建一个使用此模式的应用程序!
据我所知,M(Model)被认为是数据库链接。此链接与数据库中的一个表相关。例如,数据库中的User
表是代码中的User
模型。这意味着与User table
有关的任何事情都是通过User Model
完成的。
现在在许多应用程序中,需要在不同数据库表的V(View
)中显示数据。
我的问题是。
如果需要显示的数据之间没有关系(例如users
和products
),那么“double model
数据集合”应该在哪里发生?据我所知,Controllers
应该尽可能地苗条。但它们也应该作为模型和视图的绑定组件。
因此,如果view
需要来自多个model
的数据controller
是否应该开展工作,或model
是否应该开展工作?
它很难完全描述我的意思,但我希望你明白这一点。
如果上述任何陈述不正确,请纠正我。
答案 0 :(得分:-1)
通常,controller
负责向view
收集数据,考虑创建一个ViewModel
的机会,该controller
收集要移动的不同数据,并由{填充{1}}。
当您必须以复杂方式显示给定模型或者您具有聚合数据或主要详细信息视图时,就会出现这种情况。
但是,如果您的需求来自于您正在开发的应用程序的角度对给定模型的不同愿景,请考虑将该模型映射到更好地反映application data model
的{{1}}的机会。 }。
在这种情况下,您添加一个图层来完成创建application domain
的工作,以更好地反映应用程序的观点,然后model
执行要对其执行的操作。