【发布时间】:2024-01-23 21:07:01
【问题描述】:
假设我想根据特定实体是否存在采取不同的操作,例如:
item := itemRepository.Find(id)
if item != nil {
item.Description = newItem.Description
... // More actions
itemRepository.Save(item)
} else {
... // More actions
itemRepository.Save(newItem)
}
我认为这段代码应该属于应用程序服务或域服务,但无法真正确定哪个是正确的。请问有什么建议吗?
【问题讨论】:
-
这不就是
createOrUpdate(newItem)的逻辑吗?在这种情况下,它将由存储库 IMO 处理,并且大多数 ORM 会免费这样做。