重构与模式
5推荐 收藏
6.5K阅读
图灵程序设计丛书

重构与模式

Joshua Kerievsky (作者) 刘基诚 , 杨光 (译者)
  本书开创性地深入揭示了重构与模式这两种软件开发关键技术之间的联系,说明了通过重构实现模式改善既有的设计,往往优于在新的设计早期使用模式。本书不仅展示了一种应用模式和重构的创新方法,而且有助于读者透过实战深入理解重构和模式。书中讲述了27 种重构方式。
  本书适于面向对象软件开发人员阅读,也可作为高等学校计算机专业、软件工程专业师生的参考读物。

收藏本书能做什么?

有情况的时候会收到通知,比如电子书发布等。

纸质书
¥55.00

其他购买方式?

出版信息

  • 书  名重构与模式
  • 系列书名图灵程序设计丛书
  • 执行编辑关于本书的内容有任何问题,请联系 傅志红
  • 出版日期2010-11-24
  • 书  号978-7-115-24117-7
  • 定  价55.00 元
  • 页  数320
  • 开  本16开
  • 出版状态终止销售
  • 原书名Refactoring to Patterns
  • 原书号0-321-21335-1

同系列书

  • HTTP权威指南

    David Gourley   Brian Totty   Marjorie Sayer   Sailu Reddy   Anshu Aggarwal   陈涓   赵振平   译

    本书是HTTP及其相关核心Web技术方面的权威著作,主要介绍了Web应用程序是如何工作的,核心的因特网协议如何...

  • JavaScript高级程序设计(第3版)

    Nicholas C.Zakas   李松峰   曹力   译

    本书是JavaScript超级畅销书的新版。ECMAScript 5 和HTML5在标准之争中双双胜出,使大量...

  • 计算机科学的基础

    Al Aho   Jeff Ullman   傅尔也   译

    本书全面而详细地阐述了计算机科学的理论基础,从抽象概念的机械化到各种数据模型的建立,用算法、数据抽象等核心思想...

  • Java技术手册(第6版)

    Benjamin J Evans   David Flanagan   安道   译

    通过学习本书,你将能够: 掌握最新的语言细节,包括Java 8的变化 使用基本的Java句法学习面向对...

  • 机器学习实战

    Peter Harrington   李锐   李鹏   曲亚东   王斌   译

    机器学习是人工智能研究领域中一个极其重要的研究方向,在现今的大数据时代背景下,捕获数据并从中萃取有价值的信息或...

本书特色

设计模式和重构之后又一里程碑式著作
凝聚众多业界专家经验与领悟
帮你打通重构与模式任督二脉

目录

第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 Builder    38
5.2.2 HTML Parser    38
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 将创建知识搬移到Factory    51
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封装Composite    74
6.5.1 做法    76
6.5.2 示例    77
6.5.3 变体    87
6.6 内联Singleton    90
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 将装饰功能搬移到Decorator    115
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 Method    165
8.1.1 动机    166
8.1.2 做法    167
8.1.3 示例    167
8.2 提取Composite    172
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 提取Adapter    208
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 Object    244
9.3.1 动机    244
9.3.2 做法    246
9.3.3 示例    247
第10章 聚集操作    252
10.1 将聚集操作搬移到Collecting Parameter    253
10.1.1 动机    253
10.1.2 做法    254
10.1.3 示例    255
10.2 将聚集操作搬移到Visitor    259
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
  • 请问这本书有源码吗???
    neverlozz  发表于 2012-11-22 11:03:26
    推荐
  • 这本书真得重译,我买了纸书,难得一见的烂译。然后还是希望有电子版。
    邱茂源  发表于 2014-03-31 09:12:42
    推荐