封面
版权信息
序
前言
本书的结构
实践之间的联系
如何阅读本书
致谢
品味篇 识别优秀设计
第1章 优质代码的外部特征
1.1 实现了期望的功能
1.2 缺陷尽量少
1.3 易于理解
1.4 易于演进
1.5 易于复用
1.6 小结
第2章 优质代码的内在特征
2.1 一致的编码风格
2.2 有意义的命名
2.3 简洁的行为实现
2.4 高内聚和低耦合的结构
2.5 没有重复
2.6 没有多余的设计
2.7 具备自动化测试
2.8 小结
专业篇 建立扎实功底
第3章 高质量的需求
3.1 用结构化的方法分析需求
3.2 定义业务目标
3.3 探索业务流程,定义系统功能
3.4 完善操作步骤,澄清业务规则
3.5 小结
第4章 领域建模
4.1 领域模型的概念
4.2 捕获业务概念
4.3 辨析业务概念
4.4 持续演进业务概念
4.5 用领域模型指导软件开发
4.6 小结
第5章 设计分解和责任分配
5.1 通过分而治之管理复杂性
5.2 架构分解的原则与模式
5.3 正确使用语言特性
5.4 关注点分离
5.5 设计模式
5.6 小结
第6章 依赖、接口和契约
6.1 依赖的设计原则
6.2 需求方接口
6.3 提供方接口
6.4 设计契约
6.5 事件机制
6.6 小结
卓越篇 实现高效编码
第7章 用测试描述需求和契约
7.1 将测试作为一个建设性活动
7.2 从V模型到I模型
7.3 用测试澄清和文档化需求
7.4 用测试澄清职责和契约
7.5 测试先行
7.6 小结
第8章 用领域模型指导实现
8.1 用领域模型指导实现
8.2 基本构造块
8.3 聚合、资源库和工厂
8.4 分层架构和代码结构
8.5 限界上下文
8.6 上下文映射
8.7 领域模型的持续演进
8.8 小结
第9章 由外而内的设计
9.1 如何由外而内
9.2 由外而内设计的优势
9.3 应用测试替身
9.4 测试先行和由外而内
9.5 把由外而内应用于大规模的项目
9.6 小结
第10章 设计质量贯穿始终
10.1 质量内建
10.2 契约式设计和防御式编程
10.3 高质量的自动化测试
10.4 代码评审和结对编程
10.5 代码质量度量和问题检测
10.6 小结
第11章 让设计持续演进
11.1 软件设计的演进本质
11.2 简单设计
11.3 重构
11.4 测试驱动开发
11.5 持续集成
11.6 小结
第12章 精益思想和高效编程
12.1 精益思想
12.2 精益思想和软件设计的关系
12.3 总结
参考文献
作者简介
看完了
更新时间:2023-03-10 17:12:39