应用程序服务属于域层还是应用程序层



我有一个 N 层 Winforms 应用程序,有 4 层,如下所示:

表示层

应用层

域层

基础架构层

我的应用程序层有一个产品服务类,用于产品的所有存储库相关操作。

产品服务类的接口文件属于应用程序层还是域层?我问是因为我的存储库的接口文件是在域层中定义的,即使它们是在基础架构层中实现的。

提前谢谢。

服务概念可以属于任何层。如果您请求应用程序服务,那么这些服务应该位于应用程序层中。

另一方面,如果这些服务是直接访问域的服务,那么它们仍然是。也就是说,我希望在任何以 Domain 为前缀的项目中同时找到服务接口和一个或多个实现。

顺便说一句,该项目与软件层无关。它只是一个组织单位,用于按某些条件对文件进行分组。最重要的一点是,您的流程应该考虑到控制反转来粘合层。

对于 DDD,通常建议使用 Dependency Inversion(SOLID 中的 D),因此依赖应该是

                      Domain Layer
                            |
                           /  
                          /   
        Presentation Layer     Infrastructure Layer

因此,表示和基础结构"层"取决于您的域,而不是相反(其通用版本也称为六边形体系结构或端口和适配器)

应用层确实是你领域的一部分,因为它定义了用例应该如何工作。我从未在应用程序中使用(或见过)应用程序层,但我所做的是将应用程序服务放在同一工件内的不同中(这里的术语可能有点不同,因为我来自 Java 背景)。

相关内容

  • 没有找到相关文章

最新更新