您好,欢迎光临有路网!
重构与模式
QQ咨询:
有路璐璐:

重构与模式

  • 作者:(美)科瑞夫斯盖 杨光 刘基诚
  • 出版社:人民邮电出版社
  • ISBN:9787115153364
  • 出版日期:2006年12月01日
  • 页数:296
  • 定价:¥45.00
  • 分享领佣金
    手机购买
    城市
    店铺名称
    店主联系方式
    店铺售价
    库存
    店铺得分/总交易量
    发布时间
    操作

    新书比价

    网站名称
    书名
    售价
    优惠
    操作

    图书详情

    内容提要
    本书开创性地深入揭示了重构与模式这两种软件开发关键技术之间的联系,说明了通过重构实现模式改善既有的设计,往往优于在新的设计早期使用模式。本书不仅展示了一种应用模式和重构的创新方法,而且有助于读者结合实战深入理解重构和模式。书中讲述了27种重构方式。
    本书适于面向对象软件开发人员阅读,也可作为高校计算机专业、软件工程专业师生的参考读物。
    目录
    第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章 代码坏味 29
    4.1 重复代码(Duplicated Code) 31
    4.2 方法过长(Long Method) 31
    4.3 条件逻辑太复杂(Conditional Complexity) 32
    4.4 基本类型迷恋(Primitive Obsession) 33
    4.5 不恰当的暴露(Indecent Exposure) 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章 模式导向的重构目录 37
    5.1 重构的格式 37
    5.2 本目录中引用的项目 38
    5.2.1 XML Builder 39
    5.2.2 HTML Parser 39
    5.2.3 贷款风险计算程序 40
    5.3 起点 40
    5.4 学习顺序 41

    第6章 创建 43
    6.1 用Creation Method替换构造函数 44
    6.1.1 动机 44
    6.1.2 做法 46
    6.1.3 示例 46
    6.1.4 变体 51
    6.2 将创建知识搬移到Factory 52
    6.2.1 动机 53
    6.2.2 做法 55
    6.2.3 示例 56
    6.3 用Factory封装类 61
    6.3.1 动机 62
    6.3.2 做法 63
    6.3.3 示例 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封装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章 简化 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 将装饰功能搬移到Decorator 115
    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 用Composite替换隐含树 144
    7.5.1 动机 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 Method 166
    8.1.1 动机 167
    8.1.2 做法 168
    8.1.3 示例 168
    8.2 提取Composite 173
    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 用Observer替换硬编码的通知 191
    8.4.1 动机 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 提取Adapter 209
    8.6.1 动机 209
    8.6.2 做法 211
    8.6.3 示例 211
    8.6.4 变体 217
    8.7 用Interpreter替换隐式语言 218
    8.7.1 动机 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 用Singleton限制实例化 240
    9.2.1 动机 240
    9.2.2 做法 241
    9.2.3 示例 241
    9.3 引入Null Object 243
    9.3.1 动机 244
    9.3.2 做法 245
    9.3.3 示例 246

    第10章 聚集操作 251
    10.1 将聚集操作搬移到Collecting Parameter 252
    10.1.1 动机 252
    10.1.2 做法 253
    10.1.3 示例 254
    10.2 将聚集操作搬移到Visitor 258
    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 统一接口 277
    11.2.1 动机 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
    编辑推荐语
    本书荣获第15届生产效率大奖!《设计模式》和《重构》之后又一里程碑式著作,凝聚众多业界专家经验与领悟,帮你打通重构与模式任督二脉。
    1994年,《设计模式》为我们带来了常见设计问题的经典解决方案,从而改变了整个面向对象开发的面貌。
    1999年,《重构》为我们带来了一种改进代码的**过程,从而彻底改变了面向对象设计的方式。
    现在,在众所期盼之中,Joshua Kerievsky的《重构与模式》**次深入和全面地论述了设计模式的运用与演进式的重构过程,并揭示了两者之间至关重要的联系,又一次革命性地改变了我们的设计方式。
    本书阐述了模式导向重构的理论与实践,提出使用模式改善既有设计优于在设计早期使用模式的重要观点。书中包含了27种模式导向重构,每种重构通过一系列较小的重构,**地在设计中实现、趋向和去除模式。实例均出自真实项目的代码。通过本书,读者不仅能够更好地学习和理解模式和重构,了解两个领域的新进展和业界*新领悟,还能够学到实战中实现模式的多种方式,学会如何在不同情况下进行选择。
    设计模式和重构对我们来说早已不是什么陌生的字眼了。1994年,GoF的巨著《设计模式》初次向世人展示了设计模式的魅力。2002年,Martin Fowler的《重构:改善既有代码的设计》则刮起了一阵重构的旋风。记得在《重构》刚刚出版的时候,软件开发界和评论界就赞扬它是一本具有与《设计模式》同等高度的图书。我相信本书的每一位读者都和我一样,早已收藏了这两本书,反复阅读,仔细品味,并从中获益匪浅。
    Ralph Johnson序一《设计模式》一书中叙述了使用模式的几种方式。有些人在编写任何代码之前,都要很早地为模式做计划,而有些人在编写了大量代码之后才开始添加模式。第二种使用模式的方式就是重构,因为是要在不增加系统特性或者不改变其外部行为的情况下改变系统的设计。有些人在程序中加入模式,只是因为觉得模式能够使程序更容易修改;更多人这样做只是为了简化目前的设计。如果代码已经编写,这两种情形都是重构,因为前者是通过重构使修改更容易,而后者则是通过重构在修改后进行整理。虽然模式是在程序中能够看到的东西,但是模式也是一种程序转换。

    与描述相符

    100

    北京 天津 河北 山西 内蒙古 辽宁 吉林 黑龙江 上海 江苏 浙江 安徽 福建 江西 山东 河南 湖北 湖南 广东 广西 海南 重庆 四川 贵州 云南 西藏 陕西 甘肃 青海 宁夏 新疆 台湾 香港 澳门 海外