软件设计培训
第一部分 好的设计:“球不是这么踢的”
让指导行动
设计已死?
足够好的软件
化整为0,个个击破
先实现后设计
第二部分 动手!
从你的场景开始
获取需求
场景驱动与故事划分
从测试开始
驱动设计
实现
重构
再设计
结对编程
第三部分 设计的原本
角色、职责、协作
再看封装、抽象与多态
职责的封装
重构与设计模式是一种封装技术
桩对象
重构技术的变种
TDD、重构导向模式
第四部分 用例驱动设计
用例与功能
用例场景
健壮性分析图
时序图
协作图
类图
包图
逻辑框架和层
模型-视图分离原则
第五部分 领域驱动设计
何为“领域驱动设计”
通用语言
模型驱动设计
面向深层理解的重构
保持模型一致性
第六部分 职责驱动设计
GRASP是什么?
创建者
信息
低耦合
控制器
高内聚
多态
纯虚构
间接性
防止变异
第七部分 测试驱动开发
保持节奏:红色、绿色、重构、模式
用ATDD满足客户需求
正确地做事:TDD
做正确的事:ATDD
增量式开发
重构以保持代码的健康
下士!保持绿色!
第八部分 设计模式
设计模式与变迁
行为型模式
创建型模式
结构型模式
第九部分 设计原则
开闭原则
里氏科夫替换原则
单一职责原则
接口隔离原则
依赖倒置原则
不要重复你自己原则
你不需要它原则
KISS原则
第十部分 开发部曲
计划游戏
简单设计
测试驱动开发
重构
团队协作
持续构建
迭代
反思改进