Model view controller 迷失在一个简单的MVC案例中-如何返回多个用户?

Model view controller 迷失在一个简单的MVC案例中-如何返回多个用户?,model-view-controller,oop,architecture,Model View Controller,Oop,Architecture,我不确定哪个标题更具描述性,所以我一直这样写。我觉得在MVC的世界里有点迷失了 仅供参考:我使用PHP,但在这种特殊情况下,这似乎不太重要 我的问题如下: 我有一个UserController,其中包含以下方法: 登录 新的 展示 概述 然后我有了我的UserModel,在本例中包含了大致相同的方法: 登录 创造 取回 问题是:一旦从数据库(或XML提要,或webservice,或其他什么…)获取了用户数据,我应该保存什么?我想到了一个用户“业务对象”,它包含数据库中的所有(相关)属性。

我不确定哪个标题更具描述性,所以我一直这样写。我觉得在MVC的世界里有点迷失了

仅供参考:我使用PHP,但在这种特殊情况下,这似乎不太重要

我的问题如下:

我有一个UserController,其中包含以下方法:

  • 登录
  • 新的
  • 展示
  • 概述
然后我有了我的UserModel,在本例中包含了大致相同的方法:

  • 登录
  • 创造
  • 取回
问题是:一旦从数据库(或XML提要,或webservice,或其他什么…)获取了用户数据,我应该保存什么?我想到了一个用户“业务对象”,它包含数据库中的所有(相关)属性。然后,当从数据库获取用户时,我为我获取的每个用户实例化一个新的用户对象。如果搜索仅返回1个用户,则我仅返回用户对象。如果返回更多用户,我将实例化一个包含所有用户对象的UserCollection对象——在这种情况下,我可以对它们进行迭代,等等

这是MVC中处理用户的正确方法吗

然后:假设我对10个用户做了一个概述。其中5个可以一次编辑-想象一下使用复选框修改状态。如何处理更改?我是否循环所有已更改的用户对象并将它们存储回数据库?然后它将开始看起来像是活动记录模式的实现,我被告知不要使用它


我希望有人能澄清我需要哪些类和/或方法来解决这个“体系结构”问题。

如果我理解正确,您的用户模型有点不正确
MVC的模型部分旨在作为现实世界模型的编程表示。
意思-它代表了现实世界主体的所有属性和行为。经典的例子是
Car
类,它具有
车轮
当前速度
等属性,以及
前进()
GoReverse()
等操作

因此,在您的情况下,我认为您的模型应该是您所描述的“用户业务对象”。
您的控制器将负责从存储器(或任何地方)获取
UserModel
s,并将其更新回来

您的工作流程如下:
View
将调用
控制器的
GetUsers
Controller
进入存储器,获取
UserModel
s的列表。
Controller
将它们返回到视图。
视图
以某种方式显示它们

另一种方法用于更新。

UserModel
类将负责与单个用户相关的逻辑(例如-
ChangePassword()
)。

,因为这是一个相当长的讨论。我将给出我在MVC上写的一篇文章的链接,试图用简单的术语解释它。你可能想看看