简介
本课程讲师在软件架构领域工作多年,并且始终处于软件工程的实践一线,能够深入软件架构和领域驱动设计的本质,引导学员掌握软件架构设计的基本工具及核心思想,管理和消除软件设计中的复杂性,做出良好的软件设计。
课程时长
3天(18H)
受众对象
本课程的培训对象包括软件团队的技术负责人、架构师和软件开发人员。
分享提纲
第一天 | 课程导入 | 案例分享:两个团队的故事 软件开发的根本挑战:复杂性 软件开发范式的演进和领域驱动设计 |
角色、职责与协作 | 软件设计的基本原则 面向对象设计的本质 角色、职责与协作 使用UML建模 模型和视图 软件设计工作坊 | |
建立领域模型 | 传统面向对象方法的局限 四色建模法 领域模型和统一语言 练习:初步建立领域模型 | |
领域模型实现 | 值对象和实体 聚合和聚合根 工厂和资源库 练习:领域模型的精化和实现 | |
第二天 | 领域驱动设计的实现模式 | 领域服务 贫血模型与充血模型 从DDD到DSL 练习:领域驱动设计案例研究 |
限界上下文与复杂性约束 | 扩展案例分析 核心域与限界上下文 上下文映射图 领域事件 练习:发现限界上下文 | |
领域驱动设计的架构策略概览 | 分层架构和六角架构 REST架构风格 事件驱动架构 CQRS DCI架构 练习:识别与应用架构模式 | |
第三天 | 架构与优秀的API设计 | 契约式设计 依赖管理和接口设计策略 组件间通信 接口的粒度和封装 同步与异步接口 缓存策略 练习:架构设计工作坊 |
系统重构和演进机会识别 | 理解技术债 何时对架构进行演进?如何演进? 驱动因素是什么? 质量属性场景与效用树 如何对系统重构进行先期评估? | |
系统演进策略 | 架构决策与折中 构建防腐层 架构原型和大规模组织的架构保证策略 柔性设计 案例分析 | |
课程结束与总结 |