需要域驱动的ApplicationService DTO用于数据层

时间:2014-06-01 11:49:42

标签: java c# design-patterns domain-driven-design ddd-service

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

我有这样的图层:

  • ApplicationService
  • 数据层
  • 表示层

ApplicationService层位于表示层和数据层之间。 AppplicationService从Data层获取数据并将其转换为PresentationDTO对象并发送到表示层。

我是否需要ApplicationService和Data层之间的新数据传输对象(EntityFrameworkDTO)。我应该生成DTO以在存储库中使用,还是直接在存储库层中使用域实体?

你有没有应用领域驱动设计?

1 个答案:

答案 0 :(得分:0)

一般情况下,对于复杂场景,当您的模型分解为多个视图时,反之亦然,最好使用ViewModel或Data Transfer对象来更好地管理视图,因为视图的需求与域需求不同。 现在,在域驱动设计中,因为您的应用程序服务应该在Repository和Presentation之间发挥重要作用,您必须拥有DTO,因为您将从服务层获取表示层中的business Objects。在其他情况下,您必须在表示层中使用域实体,这将使您的域实体不是POCO。 希望它有所帮助。