Java 使用域驱动设计从服务和控制器类返回类型的约定?

Java 使用域驱动设计从服务和控制器类返回类型的约定?,java,architecture,domain-driven-design,Java,Architecture,Domain Driven Design,创建RESTAPI时,我的webservice会返回原语或dto,有时还会返回域对象。确切地说,在与返回…?的服务类交互之后,我的控制器类返回这些类型 它们是服务类返回类型的约定,我的理解是域对象可以在任何层中使用(因此返回) dto的/值对象/原语也可以返回吗 对于使用DDD的应用程序层中的返回类型是否有约定,如果不使用DDD,又该怎么办 (Repositories/DAO返回的域对象/实体或集合)我不确定是否有一个约定,但是下面是我们要做的 存储库只返回聚合 我们有finder的概念,它表

创建RESTAPI时,我的webservice会返回原语或dto,有时还会返回域对象。确切地说,在与返回…?的服务类交互之后,我的控制器类返回这些类型

它们是服务类返回类型的约定,我的理解是域对象可以在任何层中使用(因此返回)

dto的/值对象/原语也可以返回吗

对于使用DDD的应用程序层中的返回类型是否有约定,如果不使用DDD,又该怎么办


(Repositories/DAO返回的域对象/实体或集合)

我不确定是否有一个约定,但是下面是我们要做的

  • 存储库只返回聚合

  • 我们有finder的概念,它表示
    ,它们只返回DTO

  • 域服务通常在
    已经对上述任一项执行了一些业务逻辑

  • 应用程序服务返回DTO(在读取的情况下)或
    写入时的标识(值对象)

  • 控制器返回DTO(在读取的情况下)或标识(VO) 创造新的东西。在这种情况下,它们很少返回原语 请求仅用于执行某些计算

  • 通常控制器使用查找器只返回DTO