我开始通过railstutorial.org 上的教程学习该框架。我的控制器还不是很可怕,但我可以看到,单一职责主体 (SRP)并没有在整个教程中应用,因为它超出了教程的范围。
我这里有这个相对简单的控制器。我已经可以看到不同的问题(例如身份验证和授权)泄漏到这个控制器中,它包含太多的操作。这会为一个控制器分配太多操作。我偶然发现了专注于 Rails 的控制器,它解决了其中一个问题,看起来很有趣。
这是一个常见的解决方案吗?或者有更好的解决方案吗?
在 .net 世界中,我们倾向于使用面向方面编程 (AOP)来实现更清晰的关注点分离 (SoC)。然而,最近有几个人写了一个新的前端控制器框架,叫做Fubu Behaviors。它很好地捕捉到了请求管道的概念。对我来说越来越有意义的事情。
为了处理请求,我们倾向于在执行操作之前(有时是之后)执行几个步骤。在某些情况下,有条件地结束请求。使用诸如行为、管道或俄罗斯娃娃模式之类的东西似乎很自然。因此,链条中的每个环节都负责继续或停止。继承似乎不是最好的解决方案。
在rails中有类似的东西吗?在rails中有意义吗?
推荐读物同样受欢迎!