领域驱动软件设计实战训练营暨工信部教考中心领域驱动软件设计工程师认证
领域驱动软件设计实战训练营暨工信部教考中心领域驱动软件设计工程师认证详细内容
领域驱动软件设计实战训练营
暨工信部教考中心领域驱动软件设计工程师认证
培训班
培训服务一览表 | ||
培训地点 | 北京 | 杭州 |
培训时间 | 6月 24-26 | 10月 21-23 |
培训方式 | · 现场面授 · 直播授课 · 录播回放 | |
专家授课 | · 3天集中培训学习:每天6课时,实战专家授课 · 理论梳理 · 案例分享 · 实战演练 | |
纸质资料 | 领域驱动软件设计实战训练营培训讲义 | |
学习平台 | PC端:http://it.zpedu.com/ 移动端APP:IT云课 | |
社群服务 | · 学员在线交流 · 专家在线答疑 · 班主任教学管理 | |
此课程可根据具体需求定制企业内训解决方案。 |
一、 培训收益
现在是一个快速变化的时代,我们不得不面对激烈的竞争和快速的市场变化。快速的变化,带来软件需求的快速变革。因此,所有的软件企业不得不面对这样一个事实:当软件系统经历了无数次变更以后,程序变得凌乱不堪、难于维护。而软件经过了无数次变更以后,系统的业务逻辑变得越来越复杂,我们的设计开始迷失方向。这种设计的迷失,加快了软件退化的速度,使得任何一个变更,都变得成本巨大。这就是现代软件企业不得不面对的困境。
如何解决这种软件的困境呢?领域驱动设计,给我们指明了方向。他通过将软件设计还原到真实世界,将软件设计与真实世界对应起来。这样,当业务逻辑变得越来越复杂的时候,软件需求也开始频繁变更的时候,我们只需要将业务还原到真实场景,依据真实世界来指导我们的软件设计,设计思路就会清晰起来,我们就不再迷失方向。
本课程就是在讲解如何通过领域驱动设计,来应对复杂系统的需求变更,实现高质量的软件设计,避免代码腐化。课程首先剖析了软件退化的根源,通过对真实系统一步一步退化的过程演变,揭示软件退化的根源,为解决问题指明了方向。接着,有针对性地讲解领域驱动设计是如何解决这些问题,为学员能够有效提高软件设计质量,提供了思路与方向
然后,通过真实案例来一步一步讲解如何进行领域驱动设计,如何通过领域驱动设计来指导软件变更,实现高质量的软件设计。本课程注重实战,因此每一部分的讲解都是基于真实场景讲解,并且在真实场景中思考与练习。
二、 培训特色
1. 理论与实践相结合、案例分析与行业应用穿插进行;
2. 专家精彩内容解析、学员专题讨论、分组研究;
3. 通过全面知识理解、专题技能和实践结合的授课方式。
三、 培训对象
中高级工程师、企业架构师、软件设计师、技术决策/解决方案人员等。
四、 课程收益
本课程注重实战,并以工作坊的形式提供很多案例,让学员通过练习掌握领域驱动设计的过程。同时,通过大量真实的案例,讲解许多公司在开展领域驱动设计的过程中面临的难题、解决的思路,以及最终的设计养
五、 日程安排
日程 | 章节 | 授课内容 |
第一天 | 第一单元 剖析领域驱动的设计思想 | 为什么我们需要领域驱动设计 1. 现如今DDD越来越流行 2. DDD并不能帮助新项目的软件开发 3. DDD真正的作用是日后长期的维护
实践DDD的4大难题: 1. 准确理解为什么要采用DDD? 2. 怎样正确地进行业务领域建模? 3. 怎样用领域模型指导开发与变更? 4. 如何设计支持领域驱动的架构设计?
DDD真正的作用是应对日后的软件维护 1. 我们现在面对的是快速变化的时代 2. 变更越频繁,代码质量下降越快 案例:演示电商网站付款功能代码质量下降的过程 案例分析:揭示软件退化的根源 DDD的解决之道:业务领域建模 3. 系统规模越来越大,系统越来越复杂 案例:演示嵌入式温控系统越来越难于维护的根源 案例分析:领域分析才是解决之道 DDD的解决之道:基于限界上下文拆分系统
案例分析:演示电商网站付款功能代码质量下降的过程 1. 起初的设计 2. 随后的变更 3. 质量不断下降的过程 软件质量下降的根源: 1. 软件总是因变更而变得越来越复杂 2. 软件结构已经不再适应复杂的软件需求 3. 必须要调整软件结构以适应新的软件需求 DDD的建模过程: 1. 每次需求变更时先对需求进行领域分析 2. 基于领域分析先进行领域模型的变更 3. 基于领域模型的变更去指导程序的变更
DDD是应对软件复杂性之道 1. 剖析领域驱动的设计思想 2. 服务、实体与值对象的概念 3. 充血模型与贫血模型的设计思路 4. 问题域、子域与限界上下文划分
基于领域模型的设计变更 1. 演练基于DDD的设计与变更过程 2. 演练领域模型如何指导数据库设计 3. 演练领域模型如何指导程序设计 4. 聚合、仓库与工厂:傻傻分不清 5. 限界上下文:系统拆分的利器
案例:重新演练电商网站付款功能的变更过程 第一个版本的领域模型与设计 第一次变更的分析设计过程 第二场变更的设计实现 第三次变更的设计实现 第四次变更与架构演化 |
第一天 | 第二单元 演练领域驱动的设计过程 | 领域建模分析过程 演练案例:在线订餐系统的领域设计过程 1. 从领域中吸取知识 2. 统一语言建模 3. 事件风暴会议 1) 梳理业务流程,识别领域事件 2) 为每个领域事件识别参与者、行为、相关事物 3) 标记事物之间的关系、聚合、聚合根 4) 根据业务划分限界上下文 5) 遍历所有事件,确定上下文映射 4. 业务领域建模 1) 为每个领域事件构建业务领域模型 2) 划分主题域、支撑域、通用域 3) 落实各子域之间的联系、接口及事件通知机制
基于领域模型的微服务设计 1. 小而专的微服务设计 2. 限界上下文与微服务拆分 3. 上下文地图与微服务接口 4. 各微服务中实体、值对象与服务的设计 5. 各微服务中聚合、工厂与仓库的设计 6. 领域模型4种关系3种继承的数据库设计 7. 聚合层的设计、工厂和仓库的实现 8. 基于DDD的微服务架构分层
解决DDD的设计难题 1. 跨库查询的设计难题与设计实现 2. 领域事件的通知机制与设计实现 3. 微服务接口的防腐层设计 4. 状态查询跟踪的设计思路与代码实现
分组练习:按照事件风暴的步骤进行业务领域建模 1. 召开事件风暴会议 2. 进行业务领域建模 3. 基于领域模型设计开发系统 |
第二天 | 第三单元 领域驱动设计实践 | 实战演练:远程智慧医疗大数据平台设计过程 1. 系统业务规划与战略设计 2. 子系统→限界上下文→功能模块划分 3. 由粗到细的用例建模 4. 各子域业务领域建模 1) 智慧诊疗数据模型的领域分析 2) 诊所管理信息系统的领域分析 5. 各子域的接口设计 1) 上下文地图的模型分析 2) 微服务接口的方案设计 6. 微服务的技术落地实践 1) 去中心化的技术治理 2) 微服务的技术中台 3) 微服务的云端应用平台
起初:一个传统的诊所管理系统向互联网转型 1) 起初没有采用领域驱动设计,也运行了这么多年 2) 现在向互联网转型,业务变得越来越复杂,怎么开始领域建模? 第一步:站在全局的系统建设规划 第二步:DDD战略设计与限界上下文划分 第三步:各子域的业务领域建模 第四步:上下文地图与各子域的接口设计 转型成互联网连锁诊所系统,又该如何分析设计 1) 基于领域模型进行新需求的分析 2) 基于领域模型进行原有代码的更新维护 3) 基于限界上下文进行微服务的拆分,以及这个过程中的坑 第一步:基于DDD进行战略设计的调整 第二步:各子域的业务领域建模调整 第四步:上下文地图与各子域的接口设计 第五步:基于DDD的微服务拆分 Ø 基于DDD的数据库设计与去中心化的数据治理 Ø 如何由原有的贫血模型向现在的充血模型改造 Ø 如何解决跨库的关联查询与事务处理 Ø 如何实现领域事件的消息推送机制 Ø 如何实现跨库的状态数据查询 Ø 如何打造基于整洁架构的领域驱动设计框架 增加人工智能的智能诊疗数据模型 1) 如何通过领域模型来开展数据智能业务 2) 如何基于领域模型的规划与智能系统的接口 3) 基于领域模型的微服务+大数据的设计实践
分组练习:按照领域模型进行设计开发 1. 基于领域模型进行微服务的拆分与设计 2. 基于领域模型进行每个微服务的数据库设计 3. 基于上下文地图形成微服务间的契约与接口 |
第二天 | 第四单元 基于领域驱动的技术中台建设 | DDD需要强大技术架构支持 1. 降低技术门槛,减少开发工作量 → 制订规范、合理分层、降低复杂度 2. 易于业务变更,易于架构演化 → 将业务与技术解耦 3. 支持领域驱动,支持微服务 → 通用仓库、工厂及基础设施的设计 4. 平台不断完善,功能不断积累 → 敏捷架构设计:架构跑道与使能故事
支持DDD的技术架构建设思路 1. 分析当前软件架构设计与架构演化的痛点与根源 2. 阐述技术中台的建设思路 1)将业务与技术解耦 → 整洁架构与六边形架构 2)提取共性,精简业务代码 → 单Controller,单Dao
支持领域驱动+微服务的技术中台 案例:在线订餐系统的应用 1. 通用、可配置的DDD仓库与工厂的设计 2. 解决跨库的关联查询与事务处理 3. 纯洁的Service与Entity便于不断地架构演化
现有系统的整洁架构转型 1. 系统级的重构方法与步骤 2. 建立接口层解耦业务代码与技术框架的过程 3. 基于整洁架构的技术架构演化与快速交付 |
第三天 | 第五单元 基于DDD的微服务设计实践 | 实战演练:高并发高可用的订单系统
微服务架构的6种设计模式 1. 聚合模式 案例:电商网站购物功能的设计 Ø 微服务前后端分离的设计 Ø 分布式事务的两阶段提交 Ø TCC方案与阿里Seata 演练:运用Seata实现微服务的分布式事务 Ø 基于消息的最终一致性设计 演练:基于消息实现微服务的分布式事务
案例:电商网站下单服务的设计 单一职责原则与领域驱动设计 Ø 互联网纵向切分在微服务的实现 Ø 纵向切分应当注意的设计问题 Ø 解决跨库关联查询的设计 演练:微服务间解决跨库关联查询的设计
2. 代理模式 案例:电商网站多渠道支付的微服务实现 3. 链式模式 4. 分支模式 5. 数据共享模式 案例:大数据与微服务结合的架构设计 案例:电商网站海量订单数据的秒级查询 6. 异步消息模式 案例:电商网站异步化操作的微服务实现
微服务的拆分原则 1. 能不拆尽量不拆:减少微服务间的调用 2. 该拆分就得拆分 1) 公共模块该拆分就得拆分 2) 越来越复杂的模块该拆分就得拆分 |
六、 授课专家
范老师 独立咨询顾问,畅销书籍《架构真意》与《大话重构》的作者,规模化敏捷SPC。曾任航天信息首席架构师,哈工大软件工程硕士,软件架构及重构的客座讲师。从事软件研发工作近二十年,并且现在一直坚守在大型软件架构设计一线工作。从需求分析、软件开发到项目管理、架构设计都有丰富的从业经验。先后参与了数十个国内大型软件项目,涉及国家财政、军工、税务、医疗等领域的大数据中台建设、风险防控与人工智能研究。互联网转型、微服务转型及大数据转型的实践者与倡导者。同时,还是大型遗留系统改造专业户,多次参与大型遗留系统改造、软件系统重构等重大项目,长期关注大型业务系统的品质保证、防止腐化以及技术改造等困扰软件企业的问题,在遗留系统优化与改造方面有丰富的经验。
程老师 中国科学院软件研究所硕士,主要研究方向:架构设计、项目管理实践、大型高可用高并发架构设计、微服务架构、软件测试等等。熟悉网络分布式计算、数据库、网络操作系统,精通J2EE、SQL、中间件服务器。在J2EE技术领域具有理论功底和实践经验。在J2ME商务应用和基于J2ME游戏开发领域具有深厚的理论功底和丰富的实战经验。主要授课方向:DevOps落地实践、微服务架构、软件构架设计、UML、GO语言、OOAD、J2EE企业级高级应用开发等。 擅长架构企业级应用;有独立工作流引擎开发、企业系统应用集成方面的丰富经验;在企业门户(Portal)、报表、工作流引擎和企业服务总线(ESB)等应用领域有深入的理论研究和充分的实践;对软件开发的整个流程有深刻认识,有很好的协作精神和学习能力。在架构下的系统设计和开发方面均有丰富经验。能够结合实际,在复杂的应用环境中选择适合的技术组合并合理利用开源中间件来降低项目开发风险、缩短开发周期、提高应用系统的可维护性和可扩展性。
七、 培训费用
培训费:7800元/人(含培训费、平台费、资料费以及直播视频回放一年等费用)。
参加培训并通过考试学员,由工业和信息化部教育与考试中心统一颁发《领域驱动软件设计工程师认证》工业和信息化职业能力证书,证书可作为专业技术人员职业能力考核的证明,以及专业技术人员岗位聘用、任职、定级和晋升职务的重要依据。
推荐课程
备品备件需求预测、库存控制与仓储管理操作实务 2024-11-23
备品备件需求预测、库存控制与仓储管理操作实务日期地址:2024年9月21-22日上海2024年11月23-24日上海培训费用:5280元/人(含培训费、资料费、午餐、税费等)培训目标:根据企业面临备品备件需求预测不准、技术更新快、采购周期长,不是积压就是缺货,导致使用部门抱怨,甚至影响生产;物资描述不严谨、一物多码与一码多物,导致库存信息不准确;有关部门对工...
讲师:翟光明详情
Power BI数据分析与可视化实战 2024-11-23
《Power BI数据分析与可视化实战》培训讲师:黄老师培训时间地点:2024年03月14日 深圳2024年04月20日 深圳2024年05月25日深圳2024年06月14日 深圳2024年07月27日 深圳2024年08月17日 深圳2024年09月20日 深圳2024年10月31日 深圳2024年11月23日 深圳2024年12月20日 深圳培训时间地点...
讲师:黄老师详情
大数据挖掘、可视化与ChatGPT职场赋能暨工信部教考中心大数据挖掘工程 2024-11-23
大数据挖掘、可视化与ChatGPT职场赋能暨工信部教考中心大数据挖掘工程师认证培训班培训服务一览表培训地点昆明成都北京培训时间6月27-299月26-2811月23-25培训方式· 现场面授 · 直播授课 · 录播回放专家授课· 3天集中培训学习:每天6课时,实战专家授课· 理论梳理 · 案例分享 · 实战演练纸质资料大数据挖掘、可视化与ChatGPT职场赋...
讲师:刘老师详情
薪酬预算与薪酬管控 2024-11-23
薪酬预算与薪酬管控amp;年度调薪实战训练营课程费用:4980元/2天上课时间:5月25-26日2024年05月25日 - 2024年05月25日 广东深圳2024年11月23日 - 2024年11月23日 广东深圳 课程介绍【课程背景】薪酬预算是每家企业每年都会开展的必备工作,但在实际操作过程中,不少企业存在拍脑袋、对薪酬预算不重视,走形式走过场等现象严...
讲师:肖老师详情
麒麟操作系统运维序列工程师认证 2024-11-23
麒麟操作系统运维序列工程师认证开班计划培训时长培训项目7月8月9月10月11月12月1天麒麟操作系统桌面工程师(KYCA桌面)线上随报随学线上随报随学线上随报随学线上随报随学线上随报随学线上随报随学2天麒麟操作系统运维工程师(KYCA运维)北京25-26北京22-23北京19-20北京24-25北京21-22北京21-223天麒麟操作系统运维高级工程师(KY...
讲师:资深讲师详情
供应链管理战略与领导力高级研修班 2024-11-23
供应链管理战略与领导力高级研修班培训时间:2024年11月23-24日 线上直播 25年5月24-25日线上直播25年10月25-26日 直播课培训费用: 4280元/人培训对象:供应链总监、经理、主管和采购、项目管理、材料管理、运营管理、供应商质量保证、财务、计划、物流和其他供应链相关专业人士。课程背景:许多经理人在成为供应链管理领导者之前,或是学技术的,...
讲师:武文红详情
PMC生产计划与物料控制 2024-11-23
PMC生产计划与物料控制(2天)【时间/地点】 2024年01月06日 - 2024年01月07日 北京 2024年01月08日 - 2024年01月09日 上海 2024年02月24日 - 2024年02月25日 北京 2024年02月26日 - 2024年02月27日 上海 2024年03月23日 - 2024年03月24日 北京 2024年03月25日...
讲师:乔先生(Ivan) 王老师(Peter)详情
大客户销售策略与项目运作 2024-11-23
大客户销售策略与项目运作第一期2024年05月18-19日、周六-周日课程费用:4980元开课地点:上海 第二期2024年06月22-23日周六-周日课程费用:4980元开课地点:深圳第三期2024年10月26-27日周六-周日课程费用:4980元开课地点:上海第四期 2024年11月23-24日周六-周日课程费用:4980元开课地点:深圳备注 费用包括:听...
讲师:张老师详情
企业精益运营管理与工业4.0高级研修班 2024-11-23
企业精益运营管理与工业4.0高级研修班˜培训时间: 11月23-24日 北京˜培训费用: 4680元/人(含培训费、教材费、午餐费、茶点费等)˜培训对象:制造型企业总裁、总经理、工厂长、运营管理职业经理人等积极人士。【课程背景】从进入21世纪,我国加入WTO以来,现代企业的经济开放程度逐年增高,企业所面临的是更为激烈的市场竞争。为了适应现代市场经济的需求,现...
讲师:王国超详情
全能型生产一线主管实战技能训练 2024-11-23
《全能型生产一线主管实战技能训练 》培训时间地点:三月四月五月六月七月八月九月十月十一月十二月23-24深圳18-19 深圳20-21 深圳14-15 深圳23-24 深圳课程对象:1.制造型企业老板、总经理2.制造部经理、车间主任3.优秀班组长及后备管理干部培训费用:4500元/人(培训费用、资料费、茶歇、结业证书、税费等)一年内可免费复训课程背景制造管理...
讲师:陈老师详情
- [潘文富] 中小企业招聘广告的内容完
- [潘文富] 优化考核方式,减少员工抵
- [潘文富] 厂家心目中的理想化经销商
- [潘文富] 经销商的产品驱动与管理驱
- [潘文富] 消费行为的背后
- [王晓楠] 辅警转正方式,定向招录成为
- [王晓楠] 西安老师招聘要求,西安各区
- [王晓楠] 西安中小学教师薪资福利待遇
- [王晓楠] 什么是备案制教师?备案制教
- [王晓楠] 2024年陕西省及西安市最