从重构到模式(英文版)

从重构到模式(英文版)
作 者: 克里夫斯基
出版社: 机械工业出版社
丛编项: 经典原版书库
版权说明: 本书为出版图书,暂不支持在线阅读,请支持正版图书
标 签: 暂缺
ISBN 出版时间 包装 开本 页数 字数
未知 暂无 暂无 未知 0 暂无

作者简介

  Joshua Kerievsky Industrial Logic公司(hllp:industria11ogic.com)的创始人,这是一家主营极限编程业务的公司。自1988年以来,作为一名专业的软件开发人员、教员和导师,他为Bankers Trust、MTV、MBNA、Ansys、MDS Sciex、Nielsen Media Research和SunMicrosystems等客户提供咨询及培训服务。他还经常在各种会议上发言,并撰写了大量的论文。

内容简介

本书荣获2005年《软件开发》杂志图书通用类的效率大奖(ProductivityAward).1994年,《设计模式》通过引入经典的解决方案来处理反复出现的设计问题而改变了面向对象开发技术的发展前景;1999年,《重构》通过引入一种有效的过程来改善代码而彻底变革了设计的内涵;本书则通过重构的演进过程来保持模式的一致性,从而改变了我们的设计方法。..本书介绍了以模式为导向的重构方法的理论和实践:一系列低级重构,让设计人员能够安全地将设计移到模式实现,或从模式实现中移出设计。通过使用实际项目的代码,本书记录了潜藏在20多个基于模式的设计转换之下的思想方法和设计步骤。同时,本书对于模式差异以及如何以尽可能简单的方式实现模式提出了颇有见解的观点。本书的主要内容■列出27个以模式为导向的重构,并辅以实际项目的代码实例。■描述12个“设计味道”(designsmell),指示出需要本书所讲述的重构方法。■关于模式和重构的综合说明以及新的观点和想法。■详细的实现机制:如何组合低级重构来实现高级模式。■多种方式来实现相同的模式以及何时使用哪一种。■采用实际的方法引导读者尤其是缺乏模式或重构经验的读者开始学习模式或重构方面的知识。...本书提炼和反映了全球模式、重构和敏捷开发社区60多位软件工程领域先驱的思想和观点。不管你正在集中精力进行遗留开发还是新型开发,本书都将帮助你学会如何安全、有效地做出重要的设计变更,使你成为更好的软件设计人员。

图书目录

ForewordbyRalphJohnson

ForewordbyMartinFowler

Preface

WhatisThisBookAbout?.

WhatAretheGoalsofThisBook?

WhoShouldReadThisBook?

WhatBackgroundDoYouNeed?

HowtoUseThisBook

TheHistoryofThisBook

StandingontheShouldersofGiants

Acknowledgments

Chapter1:WhyIWroteThisBook

Over-Engineering

ThePatternsPanacea

Under-Engineering

Test-DrivenDevelopmentandContinuousRefactoring

RefactoringandPatterns

EvolutionaryDesign

Chapter2:Refactoring

WhatIsRefactoring?

WhatMotivatesUstoRefactor?

ManyEyes

Human-ReadableCode

KeepingItClean

SmallSteps

DesignDebt

EvolvingaNewArchitecture

CompositeandTest-DrivenRefactorings

TheBenefitsofCompositeRefactorings

RefactoringTools

Chapter3:Patterns

WhatIsaPattern?

PatternsHappy

ThereAreManyWaystoImplementaPattern

Refactoringto,towards,andawayfromPatterns

DoPatternsMakeCodeMoreComplex?

PatternKnowledge

Up-FrontDesignwithPatterns

Chapter4:CodeSmells

DuplicatedCode

LongMethod

ConditionalComplexity

PrimitiveObsession

IndecentExposure

SolutionSprawl

AlternativeClasseswithDifferentInterfaces

LazyClass

LargeClass

SwitchStatements

CombinatorialExplosion

OddballSolution

Chapter5:ACatalogofRefactoringstoPatterns

FormatoftheRefactorings

ProjectsReferencedinThisCatalog

XMLBuilders

HTMLParser..

LoanRiskCalculator

AStartingPoint

AStudySequence

Chapter6:Creation

ReplaceConstructorswithCreationMethods

Motivation

Mechanics

Example

Variations

MoveCreationKnowledgetoFactory

Motivation

Mechanics

Example

EncapsulateClasseswithFactory

Motivation

Mechanics

Example

Variations

IntroducePolymorphicCreationwithFactoryMethod

Motivation

Mechanics

Example

EncapsulateCompositewithBuilder

Mechanics

Example

Variations

InlineSingleton

Motivation

Mechanics

Example

Chapter7:Simplification

ComposeMethod

Motivation

Mechanics

Example

ReplaceConditionalLogicwithStrategy

Motivation

Mechanics

Example

MoveEmbellishmenttoDecorator

Motivation

Mechanics

Example

ReplaceState-AlteringConditionalswithState

Motivation

Mechanics

Example

ReplaceImplicitTreewithComposite

Motivation

Mechanics

Example

ReplaceConditionalDispatcherwithCommand

Motivation

Mechanics

Example

Chapter8:Generalization

FormTemplateMethod

Motivation

Mechanics

Example

ExtractComposite

Motivation

Mechanics

Example

ReplaceOne/ManyDistinctionswithComposite

Motivation

Mechanics

Example

ReplaceHard-CodedNotificationswithObserver

Motivation

Mechanics

Example

UnifyInterfaceswithAdapter

Motivation

Mechanics

Example

ExtractAdapter

Motivation

Mechanics

Example

Variations

ReplaceImplicitLanguagewithInterpreter

Motivation

Mechanics

Example

Chapter9:Protection

ReplaceTypeCodewithClass

Motivation

Mechanics

Example

LimitInstantiationwithSingleton

Motivation

Mechanics

Example

IntroduceNullObject

Motivation

Mechanics

Example

Chapter10:Accumulation

MoveAccumulationtoCollectingParameter

Motivation

Mechanics

Example

MoveAccumulationtoVisitor

Motivation

Mechanics

Example

Chapter11:Utilities

ChainConstructors

Motivation

Mechanics

Example

UnifyInterfaces

Motivation

Mechanics

Example

ExtractParameter

Motivation

Mechanics

Example...

AfterwordbyJohnBrantandDonRoberts

References

Index