代码拉取完成,页面将自动刷新
DDD之代码模型
按照DDD的四层分层架构
用户接口层是前端应用和微服务之间服务访问和数据交换的桥梁。它处理前端发送的 Restful 请求和解析用户输入的配置文件等,将数据传递给应用层。
获取应用服务的数据后,进行数据组装,向前端提供数据服务。主要服务形态是 Facade 服务。
完成服务定向,DO 与 DTO 数据的转换和组装,实现前端与应用层数据的转换和交换。
如果存在多个限界上下文,请增加一层包名
Facade(API接口)
BusinessFacade
DTO(数据传输对象)
BusinessDTO
Assembler(对象转换器)
VO(视图对象)
BusinessVO
base(基础封装)
valid(参数校验):API请求参数的统一处理,校验、排序和类型转换等
security(统一鉴权服务):统一安全防护和身份鉴权等
应用层用来表述应用和用户行为,负责服务的组合、编排和转发,负责处理业务用例的执行顺序以及结果的拼装,负责不同聚合之间的服务和数据协调,负责微服务之间的事件发布和订阅。
除了完成服务的组合和编排外,应用服务内还可以完成安全认证、权限校验、初步的数据校验和分布式事务控制等功能。
如果存在多个限界上下文,请增加一层包名
Service(应用服务)
AppService:应用服务类
Event(事件)
XxxEventPublish(事件发布实现)
XxxEventListener(事件监听器)
init(初始化配置)
领域层实现核心业务逻辑,负责表达领域模型业务概念、业务状态和业务规则。主要的服务形态有实体方法和领域服务。
DDD 提倡富领域模型,尽量将业务逻辑归属到实体对象上,实在无法归属的部分则设计成领域服务。领域服务会对多个实体或实体方法进行组装和编排,实现跨多个实体的复杂核心业务逻辑。
如果存在多个限界上下文,请增加一层包名
Xxx(聚合)
XxxAR(聚合根)
entity(实体和值对象)
DO(领域对象)
service(领域服务)
采用依赖倒置的方式,分别被应用层、领域层和基础设施层依赖,负责对特定服务的接口抽象,方便其他层进行调用。
缓存服务(cache):缓存服务的抽象接口
消息服务(notice):消息服务的抽象接口
event
AppXxxEnvent(应用事件)
XxxEnvent(领域事件)
publish
EventPublish:事件发布器
持久化服务(persistence):持久化接口
mapper
repository
主要存放基础资源服务相关的代码,为其它各层提供的通用技术能力、三方软件包、数据库服务、配置和基础资源服务的代码都会放在这一层目录里。
持久化接口实现(persistenceImpl)
mysql
mongodb
缓存服务实现(cacheImpl)
消息服务实现(noticeImpl)
公共配置(config):公共的初始化配置等
常量集(constants):全局共用的常量集
统一异常处理(exception):最终异常的统一捕获和处理等
文件服务(file)
统一日志服务(log):切面日志等统一日志封装
工具集(utils):全局共用的实用工具集
统一异常处理(exception)
统一日志服务(log)
工具集(utils)
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。