所以..我最近和洋葱建筑一起工作,也读过很多关于它的内容,这是大多数博客文章/指南/等等。没有解释的是,我在哪里保留逻辑,如上传图像或进行一些计算?
现在我得到了类似的东西
- app.core
< - 通过简单的添加,更新,删除,获取,获取所有内容来保存存储库的域模型和接口
- app.infrastructure
< - 实现我的app.core
存储库,还有服务,包含IoC模块和mappersettings
- app.application
< - 它只是关于向控制器发出请求的用户以及从app.infrastructure
调用服务的控制器并返回DTO模型
那么......我把这两件东西放在哪里?因为我觉得所有的洋葱都是添加,更新,删除,获取,getAll
我在哪里保留更复杂的代码...比如文件上传? HALP
答案 0 :(得分:1)
您的域(或核心)不一定是无逻辑的。事实上,我会说您的业务逻辑应该在您的域中,因为您的业务逻辑是您的应用程序的核心。这实际上是给您的商业价值。我把那个逻辑放在那里。在编写逻辑时,您可能会注意到需要某些基础结构调用才能保存到文件系统或发送电子邮件。然后,您只需将接口添加到核心,并假设它由外层实现(并注入)。
答案 1 :(得分:0)
如果在图层
之间共享此功能,我会在app.core中删除它