课程简介
该工作坊首先通过案例的讲解,让学员正确地掌握领域驱动设计的相关概念与设计流程,掌握DDD的领域建模与设计开发。在这样的基础上,通过全流程工作坊的形式演练,如何以知识库的形式为DeepSeek制定模板与规范,然后在此基础上,以人机结合的方式编写用例模型、领域模型,生成领域对象、服务接口、DSL配置,最后让DeepSeek编写规范的程序代码、测试用例,完成整个开发的全过程。
目标收益
1. 掌握DDD+AI的软件研发新模式,提升研发效率
2. 深刻理解,通过领域驱动指导AI生成高质量代码
3. 通过知识库为AI进行DDD编码制定模板与规范
4. 掌握AI生成代码进行软件研发的工具与研发环境
培训对象
1. 关注领域驱动、微服务开发的软件研发工程师
2. 产品经理、研发管理、质量保障等相关人员
3. 关注AI编程的架构师、CTO及其相关人员
4. 关注AI编程发展方向的相关技术人员
课程大纲
第一部分 DDD的思想与AI编程 DDD是解决业务复杂性的问题 |
1.最初的产品需求并不复杂,但随着业务的拓展越来越复杂 2.随着业务的拓展,系统规模越来越大,交付速度越来越慢 3.越来越激烈的市场竞争,需要越来越快的交付速度 4.越来越快的技术更迭,需要软件系统越来越快速的技术更迭 解决方案: 1.认知负载理论揭示系统越复杂,业务变更成本越高 2.领域驱动设计的解决方案: 1)问题空间与解空间的设计思路 2)划分子域、限界上下文与领域建模 3)将限界上下文的划分落实到微服务的开发 |
DDD是应对软件复杂性之道 |
1.剖析领域驱动的设计思想 2.服务、实体与值对象的概念 3.充血模型与贫血模型的设计思路 4.问题域、子域与限界上下文划分 |
DeepSeek编程的DDD落地实践 |
1.国产智能大模型DeepSeek的13个应用场景: 代码改写、代码解释、代码生成、中英文翻译,等等 2.智能大模型核心应用的精华: 提示词工程、文档上传、搭建本地知识库 3.DeepSeek自动化编程带来的挑战: 1)不能交给DeepSeek过于复杂的任务 2)DeepSeek编写的代码如何规范编程,基于某个平台进行编程 3)DeepSeek编写的代码,日后如何变更维护 解决方案:以DDD作为规范指导DeepSeek编程 1.通过知识库制定DeepSeek软件开发的模板与规范: 1)文档模板:架构设计的模板、用例模型的模板、领域模型的模板 2)开发规范:领域对象、服务接口、DSL配置、测试用例的开发规范 2.基于知识库进行的DeepSeek软件开发: 1)DeepSeek辅助的软件需求探索与编写需求文档 2)DeepSeek辅助编写用例模型 3)DeepSeek辅助编写领域模型 4)DeepSeek辅助形成数据库设计,编写SQL脚本 5)DeepSeek辅助编写领域对象与服务接口代码,进行DSL配置 6)DeepSeek辅助,基于某个平台进行业务代码的编写 7)DeepSeek辅助创建测试用例代码 |
第二部分 DDD的DeepSeek编程全程演练 业务架构的规划与设计过程 |
一、业务需求探索与业务架构规划 二、由粗到细的业务梳理过程 三、动态模型与静态模型相结合的分析过程 1. 动态模型:用例模型 每个用例及其业务流程的梳理过程 2. 静态模型:领域模型 领域对象及其相互关系的梳理过程 |
用例模型与需求规格说明书 |
实战演练:远程智慧医疗大数据平台的业务梳理过程 1. 用例模型的分析设计过程 1)站在全局的业务规划与战略设计 2)由粗到细的用例建模过程:用例、参与者与系统边界 3)三种类型的用例描述:业务流程、查询报表、图表展示 4)按照用例描述的方式编写需求规格说明书 2. 界面原型设计 3. 基于DeepSeek的用例模型创建 1)基于DeepSeek的业务需求探索 2)DeepSeek+知识库自动生成用例模型与用例描述 3)对DeepSeek生成的用例模型与用例描述进行审查与调教 |
原文分析法设计实战 |
原文分析法与传统需求分析方法的比较 1. 需求分析:需求讨论过程中进行领域建模 2. 需求文档:以用例模型的方式编写需求文档 3. 业务建模:基于用例模型的原文分析法 4. 需求变更:基于领域模型的设计变更 |
基于DeepSeek的领域建模过程 |
1.从领域中吸取业务领域知识 2.统一语言建模:与用户沟通需求的高级技巧 3.将真实世界与软件世界对应起来 1)将真实世界的事物与软件世界的对象对应起来 2)将真实世界中事物的行为,与软件世界中对象的方法对应起来 3)将真实世界中事物间的关系,与软件世界中对象间的关联对应起来 4.基于用例模型形成领域模型 1)识别领域对象、属性、方法与相互的关系 2)识别聚合关系与聚合根 3)划分限界上下文与划分原则 5.基于DDD进行业务架构规划 1)为每个限界上下文构建业务领域模型 2)划分并识别主题域、支撑域、通用域 3)落实各子域之间的联系、接口及事件通知机制 6.对DeepSeek生成的领域模型进行审查与调教 |
DDD的微服务落地实践 |
基于领域模型的战略设计 1.小而专的微服务设计 2.限界上下文与微服务拆分 3.上下文地图与微服务接口 |
基于微服务的战术设计 |
1.各微服务中实体、值对象与服务的设计 2.各微服务中聚合、工厂与仓库的设计 3.领域模型4种关系3种继承的数据库设计 4.聚合层的设计、工厂和仓库的实现 5.基于DDD的微服务架构分层 |
基于DeepSeek编程的设计开发 |
1.利用DeepSeek将领域模型的设计转变成数据库设计脚本 2.利用DeepSeek将领域模型的设计转变成领域对象的编码 3.利用DeepSeek将领域模型的设计转变成服务接口的设计 4.利用DeepSeek将领域模型的设计转变成DSL的配置 5.基于DDD的平台规范,由DeepSeek生成程序代码 6.基于用例模型的需求,由DeepSeek生成测试用例代码 |
DDD+微服务的设计难题 |
1.限界上下文及微服务划分的原则与方法 1)业务的相关性 2)业务的复杂度 3)主题域/支撑域 2.跨库查询的设计难题与设计实现 1)数据补填的解决方案 2)建立宽表的解决方案 3.领域事件的通知机制与设计实现 基于消息队列的事件通知机制 4.微服务接口的防腐层设计 5.状态查询跟踪的设计思路与代码实现 |
支持DDD的平台架构设计 |
1. 解决软件层次的复杂性:将业务与技术解耦 2. 整洁架构与六边形架构的设计思想 3. CQRS命令与查询职责分离的设计思想 4. 基于整洁架构的DDD架构设计思路 1)制作通用仓库与工厂的设计思路 2)引入DSL的思路与设计实现 3)支持DDD的增删改功能架构设计 4)支持DDD的查询功能的架构设计 |
第一部分 DDD的思想与AI编程 DDD是解决业务复杂性的问题 1.最初的产品需求并不复杂,但随着业务的拓展越来越复杂 2.随着业务的拓展,系统规模越来越大,交付速度越来越慢 3.越来越激烈的市场竞争,需要越来越快的交付速度 4.越来越快的技术更迭,需要软件系统越来越快速的技术更迭 解决方案: 1.认知负载理论揭示系统越复杂,业务变更成本越高 2.领域驱动设计的解决方案: 1)问题空间与解空间的设计思路 2)划分子域、限界上下文与领域建模 3)将限界上下文的划分落实到微服务的开发 |
DDD是应对软件复杂性之道 1.剖析领域驱动的设计思想 2.服务、实体与值对象的概念 3.充血模型与贫血模型的设计思路 4.问题域、子域与限界上下文划分 |
DeepSeek编程的DDD落地实践 1.国产智能大模型DeepSeek的13个应用场景: 代码改写、代码解释、代码生成、中英文翻译,等等 2.智能大模型核心应用的精华: 提示词工程、文档上传、搭建本地知识库 3.DeepSeek自动化编程带来的挑战: 1)不能交给DeepSeek过于复杂的任务 2)DeepSeek编写的代码如何规范编程,基于某个平台进行编程 3)DeepSeek编写的代码,日后如何变更维护 解决方案:以DDD作为规范指导DeepSeek编程 1.通过知识库制定DeepSeek软件开发的模板与规范: 1)文档模板:架构设计的模板、用例模型的模板、领域模型的模板 2)开发规范:领域对象、服务接口、DSL配置、测试用例的开发规范 2.基于知识库进行的DeepSeek软件开发: 1)DeepSeek辅助的软件需求探索与编写需求文档 2)DeepSeek辅助编写用例模型 3)DeepSeek辅助编写领域模型 4)DeepSeek辅助形成数据库设计,编写SQL脚本 5)DeepSeek辅助编写领域对象与服务接口代码,进行DSL配置 6)DeepSeek辅助,基于某个平台进行业务代码的编写 7)DeepSeek辅助创建测试用例代码 |
第二部分 DDD的DeepSeek编程全程演练 业务架构的规划与设计过程 一、业务需求探索与业务架构规划 二、由粗到细的业务梳理过程 三、动态模型与静态模型相结合的分析过程 1. 动态模型:用例模型 每个用例及其业务流程的梳理过程 2. 静态模型:领域模型 领域对象及其相互关系的梳理过程 |
用例模型与需求规格说明书 实战演练:远程智慧医疗大数据平台的业务梳理过程 1. 用例模型的分析设计过程 1)站在全局的业务规划与战略设计 2)由粗到细的用例建模过程:用例、参与者与系统边界 3)三种类型的用例描述:业务流程、查询报表、图表展示 4)按照用例描述的方式编写需求规格说明书 2. 界面原型设计 3. 基于DeepSeek的用例模型创建 1)基于DeepSeek的业务需求探索 2)DeepSeek+知识库自动生成用例模型与用例描述 3)对DeepSeek生成的用例模型与用例描述进行审查与调教 |
原文分析法设计实战 原文分析法与传统需求分析方法的比较 1. 需求分析:需求讨论过程中进行领域建模 2. 需求文档:以用例模型的方式编写需求文档 3. 业务建模:基于用例模型的原文分析法 4. 需求变更:基于领域模型的设计变更 |
基于DeepSeek的领域建模过程 1.从领域中吸取业务领域知识 2.统一语言建模:与用户沟通需求的高级技巧 3.将真实世界与软件世界对应起来 1)将真实世界的事物与软件世界的对象对应起来 2)将真实世界中事物的行为,与软件世界中对象的方法对应起来 3)将真实世界中事物间的关系,与软件世界中对象间的关联对应起来 4.基于用例模型形成领域模型 1)识别领域对象、属性、方法与相互的关系 2)识别聚合关系与聚合根 3)划分限界上下文与划分原则 5.基于DDD进行业务架构规划 1)为每个限界上下文构建业务领域模型 2)划分并识别主题域、支撑域、通用域 3)落实各子域之间的联系、接口及事件通知机制 6.对DeepSeek生成的领域模型进行审查与调教 |
DDD的微服务落地实践 基于领域模型的战略设计 1.小而专的微服务设计 2.限界上下文与微服务拆分 3.上下文地图与微服务接口 |
基于微服务的战术设计 1.各微服务中实体、值对象与服务的设计 2.各微服务中聚合、工厂与仓库的设计 3.领域模型4种关系3种继承的数据库设计 4.聚合层的设计、工厂和仓库的实现 5.基于DDD的微服务架构分层 |
基于DeepSeek编程的设计开发 1.利用DeepSeek将领域模型的设计转变成数据库设计脚本 2.利用DeepSeek将领域模型的设计转变成领域对象的编码 3.利用DeepSeek将领域模型的设计转变成服务接口的设计 4.利用DeepSeek将领域模型的设计转变成DSL的配置 5.基于DDD的平台规范,由DeepSeek生成程序代码 6.基于用例模型的需求,由DeepSeek生成测试用例代码 |
DDD+微服务的设计难题 1.限界上下文及微服务划分的原则与方法 1)业务的相关性 2)业务的复杂度 3)主题域/支撑域 2.跨库查询的设计难题与设计实现 1)数据补填的解决方案 2)建立宽表的解决方案 3.领域事件的通知机制与设计实现 基于消息队列的事件通知机制 4.微服务接口的防腐层设计 5.状态查询跟踪的设计思路与代码实现 |
支持DDD的平台架构设计 1. 解决软件层次的复杂性:将业务与技术解耦 2. 整洁架构与六边形架构的设计思想 3. CQRS命令与查询职责分离的设计思想 4. 基于整洁架构的DDD架构设计思路 1)制作通用仓库与工厂的设计思路 2)引入DSL的思路与设计实现 3)支持DDD的增删改功能架构设计 4)支持DDD的查询功能的架构设计 |