了解MVC:模型上的“脂肪”,控制器上的“瘦子”是什么概念?
我试图理解模型上的“脂肪”和控制器上的“瘦”的概念,从我一直在讨论的内容中,我有以下示例(这取自freenode讨论):
问:关于MVC范式,它说胖模型,瘦控制器。我在这里想,如果我有很多方法(在控制器上)只使用几个抽象方法来CRUD(在模型上),我是否创建了一个胖控制器而不是模型?或者他们说,胖模型,在返回和不键入的内容中重新引用?这是我从未理解过的东西=)任何评论都值得赞赏!多谢
OBS1:我不是在做模型所做的事情,在控制器中,我只是有控制模型内容的方法。
OBS2:假设“checkIfEmailExists()”,有“john@hotmail.com”作为参数。此方法将从查询此参数的模型方法获取返回,返回布尔值。如果为 0,“checkIFemailExists()”将调用一个不同的模型方法,这个,他只是另一个抽象方法,执行更新操作。
OBS3:“checkIfEmailExists()”,不就是一个控制器吗?他实际上并没有执行任何CRUD,他只是在比较值等。这让我感到困惑,因为在我的脑海中,这是一个控制器:S
注意:我想这不是最好的例子,因为说“检查某些东西是否存在”,听起来像是查询我的表操作
Q2:还有一个问题,假设我有一个视图表单,从中发送该电子邮件地址参数。你是说视图直接进入模型吗?
Q3:控制器不应该在它们之间行动吗?这就是范式
最后注意:讨论结束,说我错了,希望没问题(我正在学习)。但是,那么,Q2和Q3的正确答案是什么?
感谢您的关注