有人可以解释一下这个短语“胖模型,瘦的控制器”吗?

时间:2014-03-18 17:36:59

标签: ruby-on-rails ruby model-view-controller

我正在学习Ruby on Rails。我注意到这句话“胖模特,瘦小的控制器”。我不确定这意味着什么。这是否意味着我必须在模型中使用更多代码,在控制器中使用更少代码?有人可以解释一下吗?

2 个答案:

答案 0 :(得分:10)

你理解正确。此建议的主要原因是您只需要处理请求参数并在控制器中初始化模型层。业务逻辑需要在模型层中实现。这允许您使用模型的单元测试来避免代码重复并使测试更容易。

另请阅读this并浏览整个网站以获取最佳做法。

答案 1 :(得分:5)

简而言之,你有正确的习惯用法,尽管如果任何具有定义角色的代码变得臃肿,那么这可能是一个问题,可能需要一些基本的重新分解。

模型中使用的业务逻辑可以在多个不同的路由中重用,也可以在Web服务API或命令行脚本中重用。它也可以在不调用Web服务器的情况下进行单元测试。

控制器中的相同业务逻辑只能通过Web界面使用。