图书介绍
重构与模式PDF|Epub|txt|kindle电子书版本网盘下载
- (美)Joshua Kerievsky著;杨光,刘基诚译 著
- 出版社: 北京:人民邮电出版社
- ISBN:7115153361
- 出版时间:2006
- 标注页数:296页
- 文件大小:27MB
- 文件页数:315页
- 主题词:程序设计
PDF下载
下载说明
重构与模式PDF格式电子书版下载
下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!
(文件页数 要大于 标注页数,上中下等多册电子书除外)
注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具
图书目录
第1章 本书的写作缘由1
1.1 过度设计1
1.2 模式万灵丹2
1.3 设计不足2
1.4 测试驱动开发和持续重构3
1.5 重构与模式5
1.6 演进式设计6
第2章 重构7
2.1 何谓重构7
2.2 重构的动机8
2.3 众目睽睽9
2.4 可读性好的代码10
2.5 保持清晰11
2.6 循序渐进11
2.7 设计欠账12
2.8 演变出新的架构13
2.9 复合重构与测试驱动的重构13
2.10 复合重构的优点15
2.11 重构工具15
3.1 何谓模式17
第3章 模式17
3.2 模式痴迷18
3.3 实现模式的方式不止一种20
3.4 通过重构实现、趋向和去除模式22
3.5 模式是否会使代码更加复杂24
3.6 模式知识25
3.7 使用模式的预先设计26
第4章 代码坏味29
4.1 重复代码(Duplicated Code)31
4.2 方法过长(Long Method)31
4.3 条件逻辑太复杂(Conditional Complexity)32
4.4 基本类型迷恋(Primitive Obsession)33
4.5 不恰当的暴露(IndecentExposure)33
4.6 解决方案蔓延(Solution Sprawl)34
4.7 异曲同工的类(Alternative Classes with Different Interfaces)34
4.8 冗赘类(Lazy Class)34
4.9 类过大(Large Class)34
4.10 分支语句(Switch Statement)35
4.11 组合爆炸(Combinatorial Explosion)35
4.12 怪异解决方案(Oddball Solution)35
5.1 重构的格式37
第5章 模式导向的重构目录37
5.2 本目录中引用的项目38
5.2.1 XML Builder39
5.2.2 HTML Parser39
5.2.3 贷款风险计算程序40
5.3 起点40
5.4 学习顺序41
第6章 创建43
6.1.1 动机44
6.1 用Creation Method替换构造函数44
6.1.2 做法46
6.1.3 示例46
6.1.4 变体51
6.2 将创建知识搬移到Factory52
6.2.1 动机53
6.2.2 做法55
6.2.3 示例56
6.3 用Factory封装类61
6.3.1 动机62
6.3.3 示例63
6.3.2 做法63
6.3.4 变体66
6.4 用Factory Method引入多态创建68
6.4.1 动机68
6.4.2 做法69
6.4.3 示例71
6.5 用Builder封装Composite74
6.5.1 做法76
6.5.2 示例77
6.5.3 变体87
6.6.1 动机90
6.6 内联Singleton90
6.6.2 做法92
6.6.3 示例93
第7章 简化97
7.1 组合方法98
7.1.1 动机98
7.1.2 做法100
7.1.3 示例100
7.2 用Strategy替换条件逻辑103
7.2.1 动机103
7.2.2 做法105
7.2.3 示例106
7.3 将装饰功能搬移到Decorator115
7.3.1 动机115
7.3.2 做法119
7.3.3 示例120
7.4 用State替换状态改变条件语句134
7.4.1 动机134
7.4.2 做法135
7.4.3 示例136
7.5.1 动机144
7.5 用Composite替换隐含树144
7.5.2 做法147
7.5.3 示例148
7.6 用Command替换条件调度程序155
7.6.1 动机156
7.6.2 做法157
7.6.3 示例158
第8章 泛化165
8.1 形成Template Method166
8.1.1 动机167
8.1.3 示例168
8.1.2 做法168
8.2 提取Composite173
8.2.1 动机173
8.2.2 做法174
8.2.3 示例175
8.3 用Composite替换一/多之分181
8.3.1 动机181
8.3.2 做法183
8.3.3 示例184
8.4.1 动机191
8.4 用Observer替换硬编码的通知191
8.4.2 做法192
8.4.3 示例193
8.5 通过Adapter统一接口200
8.5.1 动机200
8.5.2 做法201
8.5.3 示例202
8.6 提取Adapter209
8.6.1 动机209
8.6.2 做法211
8.6.3 示例211
8.6.4 变体217
8.7.1 动机218
8.7 用Interpreter替换隐式语言218
8.7.2 做法220
8.7.3 示例221
第9章 保护231
9.1 用类替换类型代码232
9.1.1 动机232
9.1.2 做法234
9.1.3 示例235
9.2.1 动机240
9.2 用Singleton限制实例化240
9.2.2 做法241
9.2.3 示例241
9.3 引入Null Object243
9.3.1 动机244
9.3.2 做法245
9.3.3 示例246
第10章 聚集操作251
10.11 将聚集操作搬移到Collecting Parameter252
10.1.1 动机252
10.1.2 做法253
10.1.3 示例254
10.2 将聚集操作搬移到Visitor258
10.2.1 动机258
10.2.2 做法262
10.2.3 示例266
第11章 实用重构273
11.1 链构造函数274
11.1.1 动机274
11.1.2 做法275
11.1.3 示例275
11.2.1 动机277
11.2 统一接口277
11.2.2 做法278
11.2.3 示例278
11.3 提取参数279
11.3.1 动机279
11.3.2 做法279
11.3.3 示例280
跋281
参考文献283
索引287