4006-998-758
3000+课程任你选择
微服务+领域驱动实战
研发学院 微服务 领域驱动设计 中台建设
范钢

从事软件研发工作近二十年,并且现在一直坚守在大型软件架构设计一线工作。从需求分析、软件开发到项目管理、架构设计都有丰富的从业经验,尤其熟悉互联网架构与分析的特点。先后主持或参与了数十个国内外大型软件项目,涉及领域包括互联网、金融、军工、财务、税务等领域。先后为京东、淘宝网、支付宝等电商网站设计电子发票开票平台,为全国各地各行各业的纳税人设计增值税发票在线开票系统,为各级税务机关提供税务大数据风险监控平台。此外,还是大型遗留系统改造专业户,多次参与大型遗留系统改造、软件系统重构等重大项目,长期关注大型业务系统的品质保证、防止腐化以及技术改造等困扰软件企业的问题,进而提出了许多实用而有效的解决方案,在遗留系统优化与改造方面有丰富的经验。


查看老师详情
课程内容


授课内容

第一部分 领域驱动设计

第一单元 为什么需要领域驱动设计

所有软件企业不得不面对的问题

1. 我们现在面对的是快速变化的时代

2. 软件研发却出现了问题:

变更越频繁,代码质量下降越快

案例:演示电商网站付款功能代码质量下降的过程

3. 揭示软件退化的根源

案例:演示软件退化的过程与高质量设计的过程

深度解读高内聚与单一职责原则

 

领域驱动设计

1. 软件变更过程中的设计难题

2. 领域驱动的设计思想

案例:重新演练电商网站付款功能的变更过程

第一个版本的领域模型与设计

Ø 构建用例模型

Ø 构建领域模型

Ø 构建领域事件

第一次变更的分析设计过程

Ø 演示领域分析不断深入的过程

Ø 演示领域驱动指导软件变更的过程

第二次变更与两顶帽子的设计方式

第三次变更与限界上下文

Ø 聚合、工厂、仓库的设计

Ø 限界上下文与微服务

3. 领域驱动的设计实现

贫血模型 vs. 充血模型

领域驱动在传统架构中的实现

领域驱动在微服务架构中的实现

 

第二单元 演练领域驱动设计的过程

实战演练:在线订餐系统的领域驱动设计过程

领域建模分析过程

1. 从领域中吸取知识

2. 统一语言建模

3. 事件风暴会议

1) 事件即事实的设计思路

2) 召开事件风暴会议

3) 聚合与聚合根

4) 问题子域与限界上下文

5) 上下文地图与接口定义

4. 业务领域建模

 

基于领域模型的微服务设计

1. 小而专的微服务设计

2. 限界上下文与微服务拆分

3. 上下文地图与微服务接口

4. 去中心化的数据库设计

5. 聚合层的微服务设计

 

解决微服务设计难题

1. 领域事件的通知机制

2. 微服务接口的防腐层设计

3. 订单状态跟踪的设计思路

第三单元 基于微服务的软件重构

软件重构的概念

1. 重构是一系列代码的等量变换

案例:一个Hello World重构过程

2. 重构的保险索:自动化测试

案例:Hello World的自动化测试过程

3. 软件修改的四种动机——重构的价值

4. 一个真实的谎言——重构的误区

5. 演练重构的主要方法与技巧

1) 运用抽取方法解决大函数的问题

2) 运用抽取类解决大对象的问题

3) 运用抽取接口进行软件分层

4) 运用抽取父类实现代码复用

 

演练:由单体向微服务转型的重构过程

1. 转型Spring Boot项目

2. 领域建模与微服务的拆分

拆分原则:能不拆就不拆,该拆分就拆分

3. 前后端分离

第二部分 中台建设

第一单元 基于领域驱动的中台建设

中台的概念

1. 前台、后台与中台的差别

案例:淘宝网的演化与中台建设

2. 业务中台、技术中台与数据中台

3. 企业中台建设的思路

1) 促进企业创新

2) 企业数字化转型

 

业务中台建设

1. 微服务化转型不是业务中台

2. 业务中台建设:提取共性、沉淀能力

3. 自顶而下的业务中台建设

4. 自下而上的业务中台建设

 

演练:业务中台建设的过程

1. 基于领域驱动的业务梳理

2. 业务中台规划与能力中心提取

3. 业务中台实施与系统重构

第四单元 基于领域驱动的技术中台建设

解决技术演化困局的钥匙:整洁架构

1. 整洁架构的设计思想

2. 整洁架构的技术实现

 

支持快速交付的技术中台战略

1. 打造快速交付团队与技术中台支持

2. 大前端+技术中台建设思路

3. 基于整洁架构的技术中台设计

 

支持领域驱动+微服务的技术中台设计

1. 传统DDD的架构设计

2. 通用仓库与通用工厂的设计

3. 内置聚合功能的设计实现

4. 支持微服务远程接口的DDD框架

 

演练:沉淀技术中台的重构过程


返回上一级