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

Gir*_*iri 0 ruby model-view-controller ruby-on-rails

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

Ser*_*eev 10

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

另请阅读本文并浏览整个网站以获取最佳实践.


Nei*_*ter 5

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

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

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