我正在尝试学习洋葱架构,据我所知,我将我的解决方案组织如下:
领域
- Domain.Entities(业务对象)
- Domain.Interfaces(域服务和存储库的接口)
- Domain.Services(领域服务接口的实现)
基础设施
- Infrastructure.Data(使用 EF 实现存储库和工作单元)
- Infrastructure.DependencyResolution(使用 Unity 实现 IoC)
用户界面
- UI.WebMVC
这是我的问题:
1-我对这些层是正确的还是我错过了什么?
2- 至于与特定技术(例如日志记录)相关的服务,它们的接口应该在哪里(Domain.Interfaces 或 Infrastructure.Interfaces)?
3- 据我了解,域服务将处理我的业务用例,那么我将从应用程序服务中获得什么好处
4-域服务和应用服务有什么区别,应用服务接口应该在哪个项目中?
5- 用户授权过程应该是应用程序服务或域服务的一部分吗?