DDD
领域驱动
Young~^_^
代码搬运工
展开
-
设计理念
设计理念 1. DDD架构演进 1.1 DDD依赖倒置架构 Vernon在它的《实现领域驱动设计》一书中提到了采用依赖倒置原则改进的方案。 所谓的依赖倒置原则指的是:高层模块不应该依赖于低层模块,两者都应该依赖于抽象,抽象不应该依赖于细节,细节应该依赖于抽象。 从图中可以看到,基础设施层位于其他所有层的上方,接口定义在其它层,基础实施实现这些接口。依赖原则的定义在DDD设计中可以改述为:领域...原创 2020-04-19 12:29:52 · 13450 阅读 · 0 评论 -
工程模块
工程模块 1. 模块划分 项目共分为7大模块,分别如下: –start: 启动模块 –infrastructure:基础设施层 –query:查询层 –application: 应用层 –**domain:领域层–shared:共享层 –api:对外服务接口 ** 2. 模块依赖关系 各个模块依赖关系如下,上层模块依赖下层模块,下层模块不可依赖上层模块,否则会造成循环依赖: 3. 模块介绍 3....原创 2020-04-19 12:29:21 · 13719 阅读 · 0 评论 -
目录结构
目录结构 目录层级 项目采用领域驱动设计思想,汲取了几本比较权威的领域驱动相关书籍,将DDD实践至线上项目,项目基本目录结构设计如下: ├── firefly-api#对外dubbo api模块 │ └── src │ └── main │ └── java │ └── com │ └── souc...原创 2020-04-19 12:28:51 · 13273 阅读 · 0 评论 -
名词与概念
名词与概念 DDD Domain Driven Design即领域驱动设计 CQRS Command Query Responsibility Seperation(命令查询职责分离)的缩写把查询数据 同程为 Query (查询), 只提供根据聚合的ID 进行查询,查询结果 以DTO 形式返回改变状态叫做 Command (命令) , 提供Create,Upd...原创 2020-04-19 12:28:13 · 13065 阅读 · 0 评论 -
项目架构
项目架构 前言 FireTeam目前项目均采用SpringBoot、Dubbo等技术框架以及DDD(Domain Driver Design)设计思想搭建。书写这篇文档一方面是帮助新加入的小伙伴更快地熟悉项目,另一方面是形成团队规范、保持代码风格统一,接下来讲主要通过以下几个方面进行介绍: 名词与概念 目录结构 项目模块 设计理念 文献 领域驱动设计DDD和CQRS落地 ...原创 2020-04-19 12:25:33 · 13151 阅读 · 0 评论