《软件开发方法学精选系列:实现模式(修订版)》作者将自己多年形成的编程习惯以及阅读既有代码的体验凝练成了编程中的价值观、原则和77种实现模式。
沟通、简单和灵活的价值观应当被所有开发人员所铭记。局部影响、最小化重复、将逻辑与数据捆绑等原则同样是通用性的指导思想,比价值观更贴近编程场景,在价值观和模式之间搭建了桥梁。在77种实现模式中,每一种模式都覆盖了编写简洁、清晰、易扩展、易维护的代码这一原则的某个方面。它们为日常的编程提供了丰富翔实的参考依据,并告诉大家这些代码如何为降低沟通成本和提高有效产出提供保障。
《软件开发方法学精选系列:实现模式(修订版)》适用于各个阶段的开发者群体。刚刚涉足软件开发领域的新人能够透过大师的眼睛来看待编程,了解编程的价值观与原则;具有丰富经验的资深工程师则可以通过这些模式进行反思,探究成功实践背后的意义。把价值观、原则和开发实践结合之后,日常开发工作便会以崭新而迷人的形式呈现在我们面前。
第1章 引言
1.1 章节概览
1.2 那么,现在……
第2章 模式
第3章 一种编程理论
3.1 价值观
3.1.1 沟通
3.1.2 简单
3.1.3 灵活
3.2 原则
3.2.1 局部化影响
3.2.2 最小化重复
3.2.3 将逻辑与数据捆绑
3.2.4 对称性
3.2.5 声明式表达
3.2.6 变化率
3.3 小结
第4章 动机
第5章 类
5.1 类
5.2 简单的超类名
5.3 限定性的子类名
5.4 抽象接口
5.5 interface
5.6 抽象类
5.7 有版本的interface
5.8 值对象
5.9 特化
5.10 子类
5.11 实现器
5.12 内部类
5.13 实例特有的行为
5.14 条件语句
5.15 委派
5.16 可插拔的选择器
5.17 匿名内部类
5.18 库类
5.19 小结
第6章 状态
6.1 状态
6.2 访问
6.3 直接访问
6.4 间接访问
6.5 通用状态
6.6 可变状态
6.7 外生状态
6.8 变量
6.9 局部变量
6.10 字段
6.11 参数
6.12 收集参数
6.13 可选参数
6.14 变长参数
6.15 参数对象
6.16 常量
6.17 按角色命名
6.18 声明时的类型
6.19 初始化
6.20 及早初始化
6.21 延迟初始化
6.22 小结
第7章 行为
7.1 控制流
7.2 主体流
7.3 消息
7.4 选择性消息
7.5 双重分发
7.6 分解性(序列性)消息
7.7 反置性消息
7.8 邀请性消息
7.9 解释性消息
7.10 异常流
7.11 卫述句
7.12 异常
7.13 已检查异常
7.14 异常传播
7.15 小结
第8章 方法
8.1 组合方法
8.2 揭示意图的名称
8.3 方法可见性
8.4 方法对象
8.5 覆盖方法
8.6 重载方法
8.7 方法返回类型
8.8 方法注释
8.9 助手方法
8.10 调试输出方法
8.11 转换
8.12 转换方法
8.13 转换构造器
8.14 创建
8.15 完整的构造器
8.16 工厂方法
8.17 内部工厂
8.18 容器访问器方法
8.19 布尔值设置方法
8.20 查询方法
8.21 相等性判断方法
8.22 取值方法
8.23 设置方法
8.24 安全复制
8.25 小结
第9章 容器
9.1 隐喻
9.2 要点
9.3 接口
9.3.1 Array
9.3.2 Iterable
9.3.3 Collection
9.3.4 List国
9.3.5 Set国
9.3.6 SortedSet国
9.3.7 Map国
9.4 实现
9.4.1 Collection国
9.4.2 List国
9.4.3 Set国
9.4.4 Map国
9.5 Collections
9.5.1 查询
9.5.2 排序
9.5.3 不可修改的容器
9.5.4 单元素容器
9.5.5 空容器
9.6 继承容器
9.7 小结
第10章 改进框架
10.1 修改框架而不修改应用
10.2 不兼容的更新
10.3 鼓励可兼容的变化
10.3.1 程序库类
10.3.2 对象
10.4 小结
附录A 性能度量
A.1 示例
A.2 API
A.3 实现
A.4 MethodTimer
A.5 冲抵额外开销
A.6 测试
A.6.1 容器的比较
A.6.2 ArrayList和LinkedList的比较
A.6.3 Set之间的比较
A.6.4 Map之间的比较
A.7 小结
参考书目