2011-11-10 117 views
2

所以我做了一些Google搜索MVC模式,我仍然不确定“模型”部分是什么。它究竟处理什么?我对编程相当陌生,所以我能找到的所有解释都超出我的想象。如果你能以简单的方式给我一个解释,我会非常感激。什么是MVC模式中的“模型”?

感谢

+0

我不能相信这不是一个重复,虽然我没有时间搜索现在 –

+0

复制:http:// stackoverflow。com/questions/1175932/what-exactly-the-model-in-mvc –

回答

8

我能描述它的最简单的方法就是称其为“数据”部分。如果它必须处理获取或保存数据,它就在模型中。如果您有一个Web应用程序,那么该模型通常是与数据库或文件系统交互的地方。

+0

+1的最清晰解释 –

+0

感谢您的回答。我想我现在终于明白了。 :) – codedude

0

模型MVC是其中由UI呈现的数据所在的位置。因此,它不应该与域模型相混淆,域模型可以用作保存业务逻辑的骨架。

当然,对于一个作为CRUD操作服务的小型应用程序来说,这两个模型可以是相同的。在真实世界的应用程序中,它们应该干净地分开。

控制器是与应用程序服务和域模型进行对话的人。它从应用程序服务接收更新,更新由视图呈现的模型。

视图呈现由模型保持的状态,解释用户的输入并将其重定向到控制器。然后控制器决定Model是要立即更新还是首先将信息转发给应用程序服务。

0

该模型可以在较小的项目中表示您的“域模型”。领域模型由代表您正在处理的问题的真实世界实体的类组成。

在较大的项目中,域模型应该从实际的MVC应用程序中分离出来,并且给定它自己的项目/程序集。在这些较大的项目中,为UI呈现对象(DTO - 数据传输对象)保留“Model”(即“MVC项目中的Models文件夹”)

0

该模型可用于管理应用程序中的数据。这可能包括诸如数据库查询和文件IO之类的东西。

该视图显然是模板,控制器是业务逻辑。

0

该模型用于表示您正在使用的数据。控制器控制数据流和数据可以采取的行动。该视图可视化数据以及控制器可以请求的操作。

简单的例子:

汽车是一个模型,它具有表示一个汽车(轮子,发动机等)的性质。

控制器定义了可以在汽车上采取的操作:查看,编辑,创建甚至是购买和出售等操作。

控制器将数据传递给既显示数据又显示数据的视图,并且有时可让用户对该数据采取措施。但是,请求的操作实际上是由控制器处理的。

相关问题