• 重构与模式(修订版)
21年品牌 40万+商家 超1.5亿件商品

重构与模式(修订版)

55.02 7.0折 79 全新

库存7件

北京房山
认证卖家担保交易快速发货售后保障

作者(美)科瑞福斯凯

出版社人民邮电出版社

ISBN9787115297259

出版时间2013-01

装帧平装

开本16开

定价79元

货号1202313023

上书时间2024-11-08

鸿运图书专营店

十年老店
已实名 已认证 进店 收藏店铺

   商品详情   

品相描述:全新
商品描述
作者简介

JoshuaKerievsky具人气的年轻一代软件开发专家之一,极限编程先驱、敏捷项目管理的思想、敏捷eLearning的改革者。软件开发公司IndustrialLogic的创始人。他曾为许多专业杂志撰稿,并多次在技术会议上担任讲师,并撰写了大量的。除本书外,他还参与撰写了ExtremeProgrammingExplored和ExtremeProgrammingPerspectives两本书。...

目录
章本书的写作缘由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.1XML Builder38

5.2.2HTML Parser38

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

0章聚集操作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

1章实用重构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

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

主编推荐
讲述重构与设计模式两大热门技术,将两者有机结合,极 具实战价值
业界专家学习和教授重构与模式亲身经历的结晶
《设计模式》作者Erich Gamma、Ralph Johnson和《重构》作者Martin Fowler联合推荐

媒体评论
“重构必须付诸实践,才能体现出其真正价值,而非仅仅作为一种抽象的智力练习。模式则记录了具有认可良好属性的程序结构。本书将两者完 美地结合起来。如果想真正实践重构,我推荐你阅读本书并活学活用。”
——Kent Beck,软件开发方法学的泰斗,极限编程创始人,模式先驱

“在《设计模式》一书中,我们曾经提到,设计模式是重构的目标。本书终于证实我们所言不虚。除此之外,本书还能够加深读者对设计模式和重构两方面的领悟。”
——Erich Gamma,IBM公司Eclipse Java开发工具
负责人,《设计模式》四作者之一,模式先驱

“现在,软件模式和敏捷开发之间的联系终于被人道破。”
——Ward Cunningham,极限编程创始人,模式先驱,Wiki发 明者

“本书展示了一种应用模式的创新方法,将自上而下地使用设计模式与自下而上地揭示迭代式开发和持续重构结合起来。任何职业软件开发人员都应该使用这种方法,去寻找使用模式改进代码的新的可能。”
——Bobby Woolf,IBM公司WebSphere软件服务部门IT咨询专家,Enterprise
 Integration Patterns和The Design Patterns Smalltalk Companion作者之一

“Joshua Kerievsky通过一系列独树一帜的设计级重构,将重构提升到全新的层次。本书向开发人员展示了如何对设计进行改进,从而简化日常工作。本书是重构实践的珍贵参考书。”
——Sven Gorts,重构与敏捷开发布道者,比利时refactoring.be网站创始人

“本书是对《设计模式》一书的重构,可能意义还不仅 限于此。在此之前,设计模式这一主题一直是作为静态和僵化的过程来阐述的,本书则将其看做是动态和灵活的,使模式的学习变成了一种试验、出错然后改正的人性化过程,从中读者能够理解到,优 秀的设计并非一蹴而就——它们都经历了艰难和反思。Kerievsky还重构了阐述方式本身,使其更加清晰,更容易接受。实际上,他解决了我在写作Thinking in Patterns一书中遇到的许多组织问题。本书透彻地介绍并结合了测试、重构和设计模式诸多方面,字里行间洋溢着叙述的轻松、良好的技术感觉和难得的真知灼见。”
——Bruce Eckel,Mindview公司总裁,《Java编程思想》和《C++编程思想》的作者

“我第 一次见到Joshua,就对他在理解、应用和教授设计模式上表现出来的热情留下了深刻印象。伟大的教师对自己教授的内容和如何与人分享都有这样的热情。我想Joshua不愧是一位伟大的教师,一位伟大的开 发者,我们都从他的深刻洞察中获益良多。”
——Craig Larman,Valtech首 席科学家,《UML和模式应用》和《敏捷迭代开发》作者

—  没有更多了  —

以下为对购买帮助不大的评价

此功能需要访问孔网APP才能使用
暂时不用
打开孔网APP