书籍详情
《上新重构:英文版福勒》[20M]百度网盘|亲测有效|pdf下载
  • 上新重构:英文版福勒

  • 出版社:启诚图书专营店
  • 出版时间:2010-11
  • 热度:12058
  • 上架时间:2024-06-30 09:38:03
  • 价格:0.0
书籍下载
书籍预览
免责声明

本站支持尊重有效期内的版权/著作权,所有的资源均来自于互联网网友分享或网盘资源,一旦发现资源涉及侵权,将立即删除。希望所有用户一同监督并反馈问题,如有侵权请联系站长或发送邮件到ebook666@outlook.com,本站将立马改正

内容介绍

基本信息

  • 商品名:重构:英文版
  • ISBN:9787115239143
  • 定价:69.00
  • 出版社:人民邮电出版社
  • 作者:福勒

参考信息(以实物为准)

  • 出版日期:2010-11-01
  • 版次:1
  • 包装:平装
  • 开本:16开
  • 用纸:胶版纸
  • 页数:431
  • 字数:524

编辑推荐

内容提要

《重构:改善既有代码的设计(英文版)》清晰揭示了重构的过程,解释了重构的原理和最佳实践方式,并给出了何时以及何地应该开始挖掘代码以求改善。书中给出了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

作者介绍

MartinFowler是一位独立咨询顾问,他运用对象技术解决企业问题已经超过十年。他的顾问领域包括健康管理、金融贸易,以及法人财务。他的客户包括Chrysler,Citibank,UKNationalHealthService,AndersenConsulting,NetscapeCommunications。此外Fowler也是objects、UML、patterns技术的一位合格讲师,他是《AnalysisPatterns》和《UMLDistilled》的作者。

序言