图书介绍
重构与模式PDF|Epub|txt|kindle电子书版本网盘下载
![重构与模式](https://www.shukui.net/cover/44/34679720.jpg)
- (美)JoshuaKerievsky著 著
- 出版社: 北京:人民邮电出版社
- ISBN:9787115241177
- 出版时间:2010
- 标注页数:300页
- 文件大小:40MB
- 文件页数:320页
- 主题词:面向对象语言-程序设计
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章 模式17
3.1 何谓模式17
3.2 模式痴迷18
3.3 实现模式的方式不止一种20
3.4 通过重构实现、趋向和去除模式22
3.5 模式是否会使代码更加复杂24
3.6 模式知识25
3.7 使用模式的预先设计26
第4章 代码坏味28
4.1 重复代码(Duplicated Code)30
4.2 过长函数(Long Method)30
4.3 条件逻辑太复杂(Conditional Complexity)31
4.4 基本类型偏执(Primitive Obsession)32
4.5 不恰当的暴露(Indecent Exposure)32
4.6 解决方案蔓延(Solution Sprawl)33
4.7 异曲同工的类(Alternative Classes with Different Interfaces)33
4.8 冗赘类(Lazy Class)33
4.9 过大的类(Large Class)33
4.10 分支语句(Switch Statement)34
4.11 组合爆炸(Combinatorial Explosion)34
4.12 怪异解决方案(Oddball Solution)34
第5章 模式导向的重构目录36
5.1 重构的格式36
5.2 本目录中引用的项目37
5.2.1 XML Builder38
5.2.2 HTMLParser38
5.2.3 贷款风险计算程序39
5.3 起点39
5.4 学习顺序39
第6章 创建41
6.1 用Creation Method替换构造函数43
6.1.1 动机43
6.1.2 做法45
6.1.3 示例45
6.1.4 变体49
6.2 将创建知识搬移到Factory51
6.2.1 动机51
6.2.2 做法54
6.2.3 示例55
6.3 用Factory封装类60
6.3.1 动机60
6.3.2 做法61
6.3.3 示例62
6.3.4 变体65
6.4 用Factory Method引入多态创建67
6.4.1 动机67
6.4.2 做法68
6.4.3 示例70
6.5 用Builder封装Composite74
6.5.1 做法76
6.5.2 示例77
6.5.3 变体87
6.6 内联Singleton90
6.6.1 动机90
6.6.2 做法92
6.6.3 示例93
第7章 简化96
7.1 组合方法97
7.1.1 动机97
7.1.2 做法99
7.1.3 示例99
7.2 用Strategy替换条件逻辑102
7.2.1 动机102
7.2.2 做法104
7.2.3 示例105
7.3 将装饰功能搬移到Decorator115
7.3.1 动机115
7.3.2 做法118
7.3.3 示例119
7.4 用State替换状态改变条件语句133
7.4.1 动机133
7.4.2 做法134
7.4.3 示例135
7.5 用Composite替换隐含树143
7.5.1 动机143
7.5.2 做法146
7.5.3 示例147
7.6 用Command替换条件调度程序155
7.6.1 动机155
7.6.2 做法157
7.6.3 示例158
第8章 泛化164
8.1 形成Template Method165
8.1.1 动机166
8.1.2 做法167
8.1.3 示例167
8.2 提取Composite172
8.2.1 动机172
8.2.2 做法173
8.2.3 示例174
8.3 用Composite替换一/多之分180
8.3.1 动机180
8.3.2 做法182
8.3.3 示例183
8.4 用Observer替换硬编码的通知190
8.4.1 动机190
8.4.2 做法191
8.4.3 示例192
8.5 通过Adapter统一接口199
8.5.1 动机199
8.5.2 做法200
8.5.3 示例201
8.6 提取Adapter208
8.6.1 动机208
8.6.2 做法210
8.6.3 示例210
8.6.4 变体216
8.7 用Interpreter替换隐式语言217
8.7.1 动机217
8.7.2 做法219
8.7.3 示例220
第9章 保护230
9.1 用类替换类型代码231
9.1.1 动机231
9.1.2 做法233
9.1.3 示例234
9.2 用Singleton限制实例化240
9.2.1 动机240
9.2.2 做法241
9.2.3 示例241
9.3 引入Null Object244
9.3.1 动机244
9.3.2 做法246
9.3.3 示例247
第10章 聚集操作252
10.1 将聚集操作搬移到Collecting Parameter253
10.1.1 动机253
10.1.2 做法254
10.1.3 示例255
10.2 将聚集操作搬移到Visitor259
10.2.1 动机259
10.2.2 做法263
10.2.3 示例267
第11章 实用重构274
11.1 链构造函数275
11.1.1 动机275
11.1.2 做法276
11.1.3 示例276
11.2 统一接口278
11.2.1 动机278
11.2.2 做法279
11.2.3 示例279
11.3 提取参数280
11.3.1 动机280
11.3.2 做法280
11.3.3 示例281
跋282
参考文献283
索引286