上新重构:英文版福勒 pdf下载
限时特惠
00:00:00
活动结束后恢复原价
纸质书参考价
¥23
电子版限时价
¥5.99
省 18 元
选择版本
内容简介
本篇主要提供上新重构:英文版福勒电子书的pdf版本下载,本电子书下载方式为百度网盘方式,点击以上按钮下单完成后即会通过邮件和网页的方式发货,有问题请联系邮箱ebook666@outlook.com

基本信息
参考信息(以实物为准)
编辑推荐
内容提要
《重构:改善既有代码的设计(英文版)》清晰揭示了重构的过程,解释了重构的原理和最佳实践方式,并给出了何时以及何地应该开始挖掘代码以求改善。书中给出了70多个可行的重构,每个重构都介绍了一种经过验证的代码变换手法的动机和技术。《重构:改善既有代码的设计(英文版)》提出的重构准则将帮助你一次一小步地修改你的代码,从而减少了开发过程中的风险。
目录
Chapter1:Refactoring,aFirstExample1
TheStartingPoint1
TheFirstStepinRefactoring7
DecomposingandRedistributingtheStatementMethod8
ReplacingtheConditionalLogiconPriceCodewithPolymorphism34
FinalThoughts52
Chapter2:PrinciplesinRefactoring53
DefiningRefactoring53
WhyShouldYouRefactor55
WhenShouldYouRefactor57
WhatDoITellMyManager60
ProblemswithRefactoring62
RefactoringandDesign66
RefactoringandPerformance69
WhereDidRefactoringComeFrom71
Chapter3:BadSmellsinCode(byKentBeckandMartinFowler)75
DuplicatedCode76
LongMethod76
LargeClass78
LongParameterList78
DivergentChange79
ShotgunSurgery80
FeatureEnvy80
DataClumps81
PrimitiveObsession81
SwitchStatements82
ParallelInheritanceHierarchies83
LazyClass83
SpeculativeGenerality83
TemporaryField84
MessageChains84
MiddleMan85
InappropriateIntimacy85
AlternativeClasseswithDifferentInterfaces85
IncompleteLibraryClass86
DataClass86
RefusedBequest87
Comments87
Chapter4:BuildingTests89
TheValueofSelf-testingCode89
TheJUnitTestingFramework91
AddingMoreTests97
Chapter5:TowardaCatalogofRefactorings103
FormatoftheRefactorings103
FindingReferences105
HowMatureAreTheseRefactorings106
Chapter6:ComposingMethods109
ExtractMethod110
InlineMethod117
InlineTemp119
ReplaceTempwithQuery120
IntroduceExplainingVariable124
SplitTemporaryVariable128
RemoveAssignmentstoParameters131
ReplaceMethodwithMethodObject135
SubstituteAlgorithm139
Chapter7:MovingFeaturesBetweenObjects141
MoveMethod142
MoveField146
ExtractClass149
InlineClass154
HideDelegate157
RemoveMiddleMan160
IntroduceForeignMethod162
IntroduceLocalExtension164
Chapter8:OrganizingData169
SelfEncapsulateField171
ReplaceDataValuewithObject175
ChangeValuetoReference179
ChangeReferencetoValue183
ReplaceArraywithObject186
DuplicateObservedData189
ChangeUnidirectionalAssociationtoBidirectional197
ChangeBidirectionalAssociationtoUnidirectional200
ReplaceMagicNumberwithSymbolicConstant204
EncapsulateField206
EncapsulateCollection208
ReplaceRecordwithDataClass217
ReplaceTypeCodewithClass218
ReplaceTypeCodewithSubclasses223
ReplaceTypeCodewithState/Strategy227
ReplaceSubclasswithFields232
Chapter9:SimplifyingConditionalExpressions237
DecomposeConditional238
ConsolidateConditionalExpression240
ConsolidateDuplicateConditionalFragments243
RemoveControlFlag245
ReplaceNestedConditionalwithGuardClauses250
ReplaceConditionalwithPolymorphism255
IntroduceNullObject260
IntroduceAssertion267
Chapter10:MakingMethodCallsSimpler271
RenameMethod273
AddParameter275
RemoveParameter277
SeparateQueryfromModifier279
ParameterizeMethod283
ReplaceParameterwithExplicitMethods285
PreserveWholeObject288
ReplaceParameterwithMethod292
IntroduceParameterObject295
RemoveSettingMethod300
HideMethod303
ReplaceConstructorwithFactoryMethod304
EncapsulateDowncast308
ReplaceErrorCodewithException310
ReplaceExceptionwithTest315
Chapter11:DealingwithGeneralization319
PullUpField320
PullUpMethod322
PullUpConstructorBody325
PushDownMethod328
PushDownField329
ExtractSubclass330
ExtractSuperclass336
ExtractInterface341
CollapseHierarchy344
FormTemplateMethod345
ReplaceInheritancewithDelegation352
ReplaceDelegationwithInheritance355
Chapter12:BigRefactorings(byKentBeckandMartinFowler)359
TeaseApartInheritance362
ConvertProceduralDesigntoObjects368
SeparateDomainfromPresentation370
ExtractHierarchy375
Chapter13:Refactoring,Reuse,andReality(byWilliamOpdyke)379
ARealityCheck380
WhyAreDevelopersReluctanttoRefactorTheirPrograms381
ARealityCheck(Revisited)394
ResourcesandReferencesforRefactoring394
ImplicationsRegardingSoftwareReuseandTechnologyTransfer395
AFinalNote397
References397
Chapter14:RefactoringTools(byDonRobertsandJohnBrant)401
RefactoringwithaTool401
TechnicalCriteriaforaRefactoringTool403
PracticalCriteriaforaRefactoringTool405
WrapUp407
Chapter15:PuttingItAllTogether(byKentBeck)409
References413
ListofSoundbites417
Index419
TheStartingPoint1
TheFirstStepinRefactoring7
DecomposingandRedistributingtheStatementMethod8
ReplacingtheConditionalLogiconPriceCodewithPolymorphism34
FinalThoughts52
Chapter2:PrinciplesinRefactoring53
DefiningRefactoring53
WhyShouldYouRefactor55
WhenShouldYouRefactor57
WhatDoITellMyManager60
ProblemswithRefactoring62
RefactoringandDesign66
RefactoringandPerformance69
WhereDidRefactoringComeFrom71
Chapter3:BadSmellsinCode(byKentBeckandMartinFowler)75
DuplicatedCode76
LongMethod76
LargeClass78
LongParameterList78
DivergentChange79
ShotgunSurgery80
FeatureEnvy80
DataClumps81
PrimitiveObsession81
SwitchStatements82
ParallelInheritanceHierarchies83
LazyClass83
SpeculativeGenerality83
TemporaryField84
MessageChains84
MiddleMan85
InappropriateIntimacy85
AlternativeClasseswithDifferentInterfaces85
IncompleteLibraryClass86
DataClass86
RefusedBequest87
Comments87
Chapter4:BuildingTests89
TheValueofSelf-testingCode89
TheJUnitTestingFramework91
AddingMoreTests97
Chapter5:TowardaCatalogofRefactorings103
FormatoftheRefactorings103
FindingReferences105
HowMatureAreTheseRefactorings106
Chapter6:ComposingMethods109
ExtractMethod110
InlineMethod117
InlineTemp119
ReplaceTempwithQuery120
IntroduceExplainingVariable124
SplitTemporaryVariable128
RemoveAssignmentstoParameters131
ReplaceMethodwithMethodObject135
SubstituteAlgorithm139
Chapter7:MovingFeaturesBetweenObjects141
MoveMethod142
MoveField146
ExtractClass149
InlineClass154
HideDelegate157
RemoveMiddleMan160
IntroduceForeignMethod162
IntroduceLocalExtension164
Chapter8:OrganizingData169
SelfEncapsulateField171
ReplaceDataValuewithObject175
ChangeValuetoReference179
ChangeReferencetoValue183
ReplaceArraywithObject186
DuplicateObservedData189
ChangeUnidirectionalAssociationtoBidirectional197
ChangeBidirectionalAssociationtoUnidirectional200
ReplaceMagicNumberwithSymbolicConstant204
EncapsulateField206
EncapsulateCollection208
ReplaceRecordwithDataClass217
ReplaceTypeCodewithClass218
ReplaceTypeCodewithSubclasses223
ReplaceTypeCodewithState/Strategy227
ReplaceSubclasswithFields232
Chapter9:SimplifyingConditionalExpressions237
DecomposeConditional238
ConsolidateConditionalExpression240
ConsolidateDuplicateConditionalFragments243
RemoveControlFlag245
ReplaceNestedConditionalwithGuardClauses250
ReplaceConditionalwithPolymorphism255
IntroduceNullObject260
IntroduceAssertion267
Chapter10:MakingMethodCallsSimpler271
RenameMethod273
AddParameter275
RemoveParameter277
SeparateQueryfromModifier279
ParameterizeMethod283
ReplaceParameterwithExplicitMethods285
PreserveWholeObject288
ReplaceParameterwithMethod292
IntroduceParameterObject295
RemoveSettingMethod300
HideMethod303
ReplaceConstructorwithFactoryMethod304
EncapsulateDowncast308
ReplaceErrorCodewithException310
ReplaceExceptionwithTest315
Chapter11:DealingwithGeneralization319
PullUpField320
PullUpMethod322
PullUpConstructorBody325
PushDownMethod328
PushDownField329
ExtractSubclass330
ExtractSuperclass336
ExtractInterface341
CollapseHierarchy344
FormTemplateMethod345
ReplaceInheritancewithDelegation352
ReplaceDelegationwithInheritance355
Chapter12:BigRefactorings(byKentBeckandMartinFowler)359
TeaseApartInheritance362
ConvertProceduralDesigntoObjects368
SeparateDomainfromPresentation370
ExtractHierarchy375
Chapter13:Refactoring,Reuse,andReality(byWilliamOpdyke)379
ARealityCheck380
WhyAreDevelopersReluctanttoRefactorTheirPrograms381
ARealityCheck(Revisited)394
ResourcesandReferencesforRefactoring394
ImplicationsRegardingSoftwareReuseandTechnologyTransfer395
AFinalNote397
References397
Chapter14:RefactoringTools(byDonRobertsandJohnBrant)401
RefactoringwithaTool401
TechnicalCriteriaforaRefactoringTool403
PracticalCriteriaforaRefactoringTool405
WrapUp407
Chapter15:PuttingItAllTogether(byKentBeck)409
References413
ListofSoundbites417
Index419
作者介绍
MartinFowler是一位独立咨询顾问,他运用对象技术解决企业问题已经超过十年。他的顾问领域包括健康管理、金融贸易,以及法人财务。他的客户包括Chrysler,Citibank,UKNationalHealthService,AndersenConsulting,NetscapeCommunications。此外Fowler也是objects、UML、patterns技术的一位合格讲师,他是《AnalysisPatterns》和《UMLDistilled》的作者。