视图应该知道模型:

在此输入图像描述

或不:

在此输入图像描述

#1楼 票数:2

程序员通常会快速执行此操作并使视图特定于模型。 例如,如果您在CRM应用程序中,该模型可能具有firstName字段; 然后视图假定它给出的模型对象具有firstName字段并在适当的位置显示。

这当然不可重复使用。 如果要创建视图以显示数据表,则不应该关心在哪个列中显示哪个模型字段。 它应该只是以通用方式处理表格数据的显示和格式化。 但是,如果您的视图是针对其显示的特定数据定制的网页,则可以是正常的。

因此,您必须根据具体情况决定是否希望视图了解其显示的特定数据,或者您是否希望它是可重用的组件。

无论哪种方式,模型数据的任何更改都应始终通过控制器进行。 控制器负责执行您的业务逻辑,而当其他东西绕过它时,这是不可能的。

#2楼 票数:1

不,模型和视图通过控制器进行通信。

我的意思是,你可以让他们彼此了解,但这会导致紧密耦合,并且很难扩展应用程序的功能。

#3楼 票数:0

根据权利,Model,底层业务实体不应直接暴露给View。 我们通常使用ViewModel,这是一种特定于表示的模型,它源自一个或多个模型。

  ask by Tom Brito translate from so

未解决问题?本站智能推荐:

2回复

什么应该在MVC模式中拥有模型?

我记得以来一直在制作iOS应用程序,但直到最近我实习编程时,我的编程风格还没有成熟。 我很早就学到了很多OO概念,因为我意识到生活对它们的理解很糟糕,但我从未学过的一件事就是MVC模式。 为了给出上下文,让我们说我在一个SolarSystemView ( UIView的子类)中绘制一个太阳
2回复

php中的mvc模型应该是PDO包装器吗?

我一直在努力学习MVC模式(没有框架),但无论我在互联网上阅读的材料如何,它似乎总是自相矛盾。 我的项目现在包含一个可以提交的表单,以便向数据库添加元素。 另一页只列出了数据库中的所有元素。 据我所知,我的模型应该连接到数据库(或者只是将连接作为参数,对我来说不是很清楚的其他东西)并且
2回复

在MVC中,View的标准职责是什么?

在MVC中,View的标准职责是什么? 通过研究互联网上的书籍、示例和图表,我发现了模型、视图和控制器类之间完全不同的交互方法。 IE。 在这些情况下,视图类不能直接访问模型。 但是,在此示例中,视图应表示来自模型的数据并与模型类进行交互。 并且不与控制器交互。 在其他示例中,视图类与模型和
3回复

我应该在模型中的什么地方设置数据库对象?(MVC)

我想知道在哪里用模型设置db对象的最佳位置。 我应该对它进行硬编码,因为我的模型应该为一个项目设计,所以我将其设置在构造函数中还是在初始化的任何地方? 还是在实例化对象时将db对象传递给构造函数? 我是经过实验的用户所说的最佳方式是什么,高效的使用方式会让我更加舒适?
5回复

如何在MVC中构建模型?[关闭]

我只是掌握了MVC框架,我常常想知道模型中应该有多少代码。 我倾向于有一个数据访问类,其方法如下: 我的模型往往是映射到数据库表的实体类。 模型对象是否应具有所有数据库映射属性以及上面的代码,或者可以将实际上数据库工作的代码分开吗? 我最终会有四层吗?
1回复

如何为MVC中的多态模型确定视图

我有一个实体列表。 每个实体都继承一些基类。 在控制器中,我应该为每个实体对象确定一个对应的视图。 我应该怎么做? 控制器代码: PS最好使用适当的OOP解决方案。
3回复

Symfony2中的模型和其他MVC框架?

我试图了解模型如何在适当的MVC中工作。 据我所知,MVC中的模型是应用程序逻辑发生的地方,模型是肉食,或MVC的骨干。 视图只是表示,控制器是“粘合剂”,它要求模型执行某些操作,返回一些数据,并将该信息传递给呈现给用户的视图。 现在,我正在探索各种不同的MVC框架,并想了解如何在MV
1回复

MVC域模型中实体之间的关系

我有一个Web MVC应用程序,该应用程序由彼此分开的三层组成: UI层:由控制器,演示者,视图等组成; 域模型:包含实体(域对象)和数据库抽象(存储库接口- 分离接口 )的层, 持久层:由存储库实现组成-如Gateways 。 Martin Fowler在定义域模型时说: