将创建一个对象后创建多个对象的代码放在何处

问题描述 投票:0回答:1

这是关于如何组织代码的问题,我无法决定什么是最好的,在以下情况下,我没有清楚地找到最佳实践:

我有模型A。创建后,我需要创建3个模型B,4个模型C和数量不确定的模型D,所有这些都与模型A有关。我的代码按预期工作,这实际上是我应该将代码放在哪里进行所有操作的问题。

目前,在模型A控制器的create操作中,保存模型A后,我有4个服务处理所有逻辑。但是当我rails db:seed时,我必须重复对这4个服务的呼叫。因此,我很想将这4个调用放在模型A的after_create回调中,但这不是打破单一责任模式吗?另外,我还有第五个服务来处理通知,我不想将其放入模型回调中,因此每次我rails db:seed时都不会收到很多通知。

也许我所做的已经是正确的,并且遵循了最佳实践,但是我不确定,需要亲爱的读者的确认或意见。

PS:对不起,英语:-)

这是有关如何组织代码的问题,我无法决定什么是最好的,在以下情况下,我没有清楚地找到最佳实践:我有模型A。创建后,我需要.. 。

ruby-on-rails dry code-organization
1个回答
0
投票

您做对了,因为应用程序的可伸缩性使回调变得很头疼。小篇文章为何更好地避免回调。

© www.soinside.com 2019 - 2024. All rights reserved.