【发布时间】:2011-03-07 18:52:34
【问题描述】:
我试图理解模型上的“胖”与控制器上的“瘦”的概念,根据我一直在讨论的内容,我有以下示例(摘自 freenode 讨论):
Q:关于 MVC 范式,它说 Fat 模型,skinny 控制器。我在这里想,如果我有很多方法(在控制器上)只使用一些抽象方法来 CRUD(在模型上),我是在创建一个胖控制器而不是一个模型吗?或者他们说,胖模型,参考返回的内容而不是输入的内容?那是我从未理解过的东西 =) 任何 cmets 都会受到赞赏!非常感谢
OBS1:我不是在做模型的什么,在控制器中,我只是有控制模型的方法
OBS2:假设“checkIfEmailExists()”有“john@hotmail.com”作为参数。该方法将从查询该参数是否存在于表中的模型方法中获取返回值,返回布尔值。如果为0,“checkIFemailExists()”将调用不同的模型方法,这个,他只是另一个抽象方法,执行更新操作。
OBS3:“checkIfEmailExists()”不只是一个控制器吗?他实际上并没有执行任何 CRUD,他只是在比较值等。这让我感到困惑,因为在我的脑海中这是一个控制器:S
注意:我想这不是最好的例子,因为说“检查是否存在”,听起来像是查询我的表操作
Q2:再问一个问题,假设我有一个视图表单,该电子邮件地址参数是从哪里发送的。你是说视图直接进入模型?
Q3:控制器不应该在他们之间行动吗?这就是范式
最后说明:讨论结束,说我错了,希望没问题(我正在学习)。但是,Q2 和 Q3 的正确答案是什么?
感谢您的关注
【问题讨论】:
-
只是一个观察:如果您提出简短、条理清晰、中肯的问题,而不是把想到的所有事情都写在主题。
标签: php model-view-controller paradigms