领域驱动软件设计实战训练营(北京站+直播)
浏览:232次 作者:小编
中培IT学院领域驱动软件设计培训服务 | ||
培训地点 | 北京 | 杭州 |
培训时间 | 6月 24-26 | 10月 21-23 |
培训方式 | · 现场面授 · 直播授课 · 录播回放 | |
专家授课 | · 3天集中培训学习:每天6课时,实战专家授课 · 理论梳理 · 案例分享 · 实战演练 | |
纸质资料 | 《领域驱动软件设计实战训练营培训》精编讲义 | |
学习平台 | PC端:中培教育 移动端APP:IT云课 | |
社群服务 | · 学员在线交流 · 专家在线答疑 · 班主任教学管理 |
一、领域驱动软件设计背景
在软件快速变化的时代,快速变化和激烈的竞争使软件市场快速变革。在软件系统不断地变更后,出现所有的软件企业不得不面对的一个事实,程序变得难于维护、凌乱不堪。软件经过了多次变更以后,设计开始后迷失方向,业务逻辑变得越来越复杂。这种情况加快了软件退化的速度,每一个变更都变得巨大的成本,这就是现代软件企业不得不面对的困境。
二、领域驱动软件设计培训对象
中高级工程师、企业架构师、软件设计师、技术决策或解决方案人员等
三、领域驱动软件设计培训特色
理论与实践相结合、案例分析与行业应用穿插进行;
专家精彩内容解析、学员专题讨论、分组研究;
通过全面知识理解、专题技能和实践结合的授课方式。
四、领域驱动软件设计培训课程
日程
| 章节 | 授课内容 |
第一天
| 第一单元 剖析领域驱动的设计思想 | 为什么我们需要领域驱动设计? 1.现如今DDD越来越流行 2.DDD并不能帮助新项目的软件开发 3.DDD真正的作用是日后长期的维护
实践DDD的4大难题: 1.准确理解为什么要采用DDD? 2.怎样正确地进行业务领域建模? 3.怎样用领域模型指导开发与变更? 4.如何设计支持领域驱动的架构设计?
DDD真正的作用是应对日后的软件维护 1.案例:演示电商网站付款功能代码质量下降的过程 a.案例分析:揭示软件退化的根源 b.DDD的解决之道:业务领域建模 2.案例:演示嵌入式温控系统越来越难于维护的根源 a.案例分析:领域分析才是解决之道 b.DDD的解决之道:基于限界上下文拆分系统 c.案例分析:演示电商网站付款功能代码质量下降的过程
软件质量下降的根源: 1.软件总是因变更而变得越来越复杂 2.软件结构已经不再适应复杂的软件需求 3.必须要调整软件结构以适应新的软件需求 DDD的建模过程: 1.每次需求变更时先对需求进行领域分析 2.基于领域分析先进行领域模型的变更 3.基于领域模型的变更去指导程序的变更
DDD是应对软件复杂性之道 1.剖析领域驱动的设计思想 2.服务、实体与值对象的概念 3.充血模型与贫血模型的设计思路 4.问题域、子域与限界上下文划分
基于领域模型的设计变更 1.演练基于DDD的设计与变更过程 2.演练领域模型如何指导数据库设计 3.演练领域模型如何指导程序设计 4.聚合、仓库与工厂:傻傻分不清 5.限界上下文:系统拆分的利器
案例:重新演练电商网站付款功能的变更过程 1.第一个版本的领域模型与设计 2.第一次变更的分析设计过程 3.第二场变更的设计实现 4.第三次变更的设计实现 5.第四次变更与架构演化 |
第一天
| 第二单元 演练领域驱动的设计过程 | 领域建模分析过程 1.演练案例:在线订餐系统的领域设计过程
基于领域模型的微服务设计 1.领域模型4种关系3种继承的数据库设计 2.聚合层的设计、工厂和仓库的实现 3.基于DDD的微服务架构分层
解决DDD的设计难题 1.跨库查询的设计难题与设计实现 2.领域事件的通知机制与设计实现 3.微服务接口的防腐层设计 4.状态查询跟踪的设计思路与代码实现
分组练习:按照事件风暴的步骤进行业务领域建模 1. 召开事件风暴会议 2. 进行业务领域建模 3. 基于领域模型设计开发系统 |
第二天
| 第三单元 领域驱动设计实践 | 实战演练:远程智慧医疗大数据平台设计过程
1.现在向互联网转型,业务变得越来越复杂,怎么开始领域建模? 第一步:站在全局的系统建设规划 第二步:DDD战略设计与限界上下文划分 第三步:各子域的业务领域建模 第四步:上下文地图与各子域的接口设计 2.转型成互联网连锁诊所系统,又该如何分析设计 3.基于领域模型进行新需求的分析 4.基于领域模型进行原有代码的更新维护 5.基于限界上下文进行微服务的拆分,以及这个过程中的坑 第一步:基于DDD进行战略设计的调整 第二步:各子域的业务领域建模调整 第四步:上下文地图与各子域的接口设计 第五步:基于DDD的微服务拆分 6.基于DDD的数据库设计与去中心化的数据治理 7.分组练习:按照领域模型进行设计开发 1) 基于领域模型进行微服务的拆分与设计 2) 基于领域模型进行每个微服务的数据库设计 3) 基于上下文地图形成微服务间的契约与接口 |
第二天
| 第四单元 基于领域驱动的技术中台建设 | 1.DDD需要强大技术架构支持 1)降低技术门槛,减少开发工作量 → 制订规范、合理分层、降低复杂度 2)易于业务变更,易于架构演化 → 将业务与技术解耦 3)支持领域驱动,支持微服务 → 通用仓库、工厂及基础设施的设计 4)平台不断完善,功能不断积累 → 敏捷架构设计:架构跑道与使能故事
分析当前软件架构设计与架构演化的痛点与根源 阐述技术中台的建设思路 1)将业务与技术解耦 → 整洁架构与六边形架构 2)提取共性,精简业务代码 → 单Controller,单Dao
支持领域驱动+微服务的技术中台 1.案例:在线订餐系统的应用 2.通用、可配置的DDD仓库与工厂的设计 3.解决跨库的关联查询与事务处理 4.纯洁的Service与Entity便于不断地架构演化
现有系统的整洁架构转型 1.系统级的重构方法与步骤 2.建立接口层解耦业务代码与技术框架的过程 3.基于整洁架构的技术架构演化与快速交付
|
第三天 | 第五单元 基于DDD的微服务设计实践 | 实战演练:高并发高可用的订单系统
1.案例:电商网站购物功能的设计 TCC方案与阿里Seata 2.演练:运用Seata实现微服务的分布式事务 基于消息的最终一致性设计 3.演练:基于消息实现微服务的分布式事务
1.案例:电商网站下单服务的设计 a.单一职责原则与领域驱动设计 b.互联网纵向切分在微服务的实现 c.纵向切分应当注意的设计问题 d.解决跨库关联查询的设计 2.演练:微服务间解决跨库关联查询的设计
1.案例:电商网站多渠道支付的微服务实现 a.链式模式 b.分支模式 c.数据共享模式 2.案例:大数据与微服务结合的架构设计 3.案例:电商网站海量订单数据的秒级查询 a.异步消息模式 4.案例:电商网站异步化操作的微服务实现
微服务的拆分原则 1.能不拆尽量不拆:减少微服务间的调用 2.该拆分就得拆分 3.公共模块该拆分就得拆分 4.越来越复杂的模块该拆分就得拆分
|
中培IT学院为您提供优质的IT技术实战培训与咨询服务。我们坚持以协助企业发展,提升员工职业技能为己任。力求打造从IT培训、IT规划咨询、到IT技术支撑的落地服务闭环。
- 标签: 领域驱动 领域驱动设计