1. 不同实体的含义
1. DO、Domain、DTO之间的含义
DO:表示从数据库中检索数据 查出的数据会被直接封装为DO
(Domain Object),DO包含了从数据库表字段相对应的属性,DO对象反映了数据的持久状态
Domain:在业务逻辑处理方面可能会需要对DO进行进一步的处理,可能会添加、修改、删除属性,或执行一些领域特定的操作,这些经过处理后的对象通常为领域对象Domian
(Domain Object) 它反映了业务领域的状态和规则
DTO:当需要将数据从服务端传输到客户端,或者在不同应用程序层之间进行传输是,Domain通常不是最适合的选择,因为它们可能包含了太多业务相关的信息,在这种情况下,通常会将领域对象Domain
封装为DTO
(Data Transfer Object),DTO 只是一种轻量级的对象,只包含需要传输的数据,不包含业务逻辑,通常Domain在服务层或是控制层被转换为DTO
2. DDD目录的含义
acl-api(Access Control List API):
外部访问接口定义,包含一些与访问控制相关的接口和定义
adapter:
适配器模式通常用于将不同的接口或组件连接在一起。在这个目录中,您可能会找到适配器类或代码,用于将不同的组件或服务集成到应用程序中。
application:
这个目录通常包含应用程序层的代码,包括应用服务、用例、工作流程等。应用服务负责协调领域对象的操作,并处理来自用户界面的请求
common:
通用工具和功能通常会被放置在这个目录下。这些可以是通用的帮助函数、工具类、自定义注解等,可以在整个应用程序中共享使用。
core-client:
这个目录可能包含客户端代码,用于与外部服务或API进行交互。它通常包括客户端库或类,用于向外部服务发送请求和接收响应。DTO也包含在其中
domain:
这个目录通常包含领域层的代码,包括领域对象(DO),实体、值对象、聚合根等,以及领域服务。这些对象捕获了业务领域的核心概念和规则。
infrastructure:
infrastructure 目录通常包含与底层技术、外部资源以及数据访问相关的代码,包括数据库访问、消息队列、文件系统、日志记录等。这个目录还可以包含与部署和运维相关的工具或配置。
这种目录结构通常用于将应用程序的不同部分分开,以便更好地组织和维护代码。每个目录代表不同的功能或层次,有助于降低代码的复杂性,并支持应用程序的可扩展性和可维护性。目录结构的确切细节和内容可以根据具体项目的需求和设计选择而有所不同。