数据层需要域驱动的应用服务DTO

本文关键字:应用服务 DTO 数据 | 更新日期: 2023-09-27 18:06:11

应用领域驱动设计我有点困惑。我正在使用c#和Java

我有这样的图层:

  • ApplicationService
  • DataLayer
  • PresentationLayer
ApplicationService层位于表示层和数据层之间。applicationservice从数据层获取数据并将其转换为PresentationDTO对象并发送到表示层。 我是否需要一个新的数据传输对象(EntityFrameworkDTO)在ApplicationService和数据层之间。我应该生成dto在存储库中使用,还是直接在存储库层中使用域实体?

你应用过领域驱动设计吗?

数据层需要域驱动的应用服务DTO

一般来说,对于复杂的场景,当你的模型分解成几个视图时,反之亦然,最好使用ViewModel或Data Transfer对象来更好地管理视图,因为视图的需求不同于域的需求。现在,在领域驱动设计中,你的应用服务应该在存储库和表示层之间扮演重要的角色,你必须有DTO,因为你要从服务层获得表示层中的业务对象。在其他情况下,你必须在你的表示层中使用域实体,这将使你的域实体非POCO。