设计模式精解(英文版·第二版)

设计模式精解(英文版·第二版)
作 者: 沙洛韦
出版社: 机械工业出版社
丛编项: 经典原版书库
版权说明: 本书为公共版权或经版权方授权,请支持正版图书
标 签: 面向对象
ISBN 出版时间 包装 开本 页数 字数
未知 暂无 暂无 未知 0 暂无

作者简介

  AlanShallowayNetObjectives(一家从事面向对象业务咨询/培训的公司)的创始人、CEO和首席顾问,具有20多年的从业经验,并经常受邀在重要的软件开发会议(包括SDExpro、JavaOne、OOP和OOPSLA上担任演讲人。他拥有麻省理工学院计算机科学硕士学位)。JamesR.Troot目前是美国西北太平洋地区一家大型金融机构的高级顾问。20多年来,他使用面向对象和基于模式的分析技术在知识管理和知识工程领域积累了丰富的经验。他拥有应用数学科学硕士、工商管理硕士和跨文化研究文科硕士学位。

内容简介

本书的最大特点之一是作者采用类比而不是编程实例的方式将概念解释得非常清楚。我正在做一套关于OOP和软件开发的音频产品,这种讲述概念的方式给予我很大的启发。:BruceEckel.希望那些仅基本了解面向对象编程和设计的读者,在完全接触设计模式之前,能够发现这本有用的书。本书是对现有的设计模式教材的补充,并可以在入门级教材(如《UMLDistilled》)和更高级模式著作之间充当一个很好的衔接。:JamesNoble..本书是模式领域最简洁、最清晰、最实用的著作,阐述了模式如何使整个开发过程变得更加容易,解释了面向对象设计的关键原则,以及各种特定模式的概念和优势。通过采用许多最新的Java示例,本书精确地向程序员和架构师展示出如何使用模式来更有效地设计、开发和交付软件。通过分析Java示例,本书提示了为什么、为什么不以及如何应用模式,而且解释了模式的实现。以畅销的第1版为基础,作者对本版进行了彻底更新,以反映新的软件设计趋势、模式和实现技术。根据广大读者的反馈,作者在第2版中加深了全书概念的阐述,并重新组织了全书内容,使其更易于理解。本书首先概述了模式的基础知识,以及面向对象分析和设计在当代软件开发中的重要性。随后,使用易懂的示例代码阐明了许多当今最有用的模式,包括它们的基础概念、优点、权衡取舍、实现技术以及需要避免的缺陷。另外,许多模式都附有UML图。本书假定读者没有模式方面的经验,因此是学习模式的理想的第一本书,对于GoF的经典名著《设计模式》,本书也是一个很好的补充。本书适用于学习面向对象设计和设计模式的学生、程序员以及从事软件开发的人士。第2版的新增和修订内容■开始“用模式的方法思考”的更好方式。■使用极限编程和其他方法,设计模式如何使敏捷开发更加便利。■如何使用共同性和可变性分析来设计应用程序架构。■在模式驱动的开发过程中进行测试的关键作用。■如何使用工厂来更有效地例示和管理对象。■对象池(Object-Pool)模式:一种未被GoF标识的新模式。■每章最后新增思考题/练习题。...

图书目录

Preface

FromObjectOrientationtoPatternstoTrueObjectOrientation

FromArtificialIntelligencetoPatternstoTrueObjectOrientation

ANoteAboutConventionsUsedinThisBook.

Feedback

NewintheSecondEdition

Acknowledgments

PARTIAnIntroductiontoObject-OrientedSoftware

Development

Chapter1TheObject-OrientedParadigm

Overview

BeforetheObject-OrientedParadigm:FunctionalDecomposition

TheProblemofRequirements

DealingwithChanges:UsingFunctionalDecomposition

DealingwithChangingRequirements

TheObject-OrientedParadigm

Object-OrientedProgramminginAction

SpecialObjectMethods

Summary

ReviewQuestions

Chapter2TheUML--TheUnifiedModelingLanguage

Overview

WhatIstheUML?

WhyUsetheUML?

TheClassDiagram

InteractionDiagrams

Summary

ReviewQuestions

PARTIITheLimitationsofTraditionalObject-OrientedDesign

Chapter3AProblemThatCriesOutforFlexibleCode

Overview

ExtractingInformationfromaCAD/CAMSystem

UnderstandtheVocabulary

DescribetheProblem

TheEssentialChallengesandApproaches

Summary

ReviewQuestions

Chapter4AStandardObject-OrientedSolution

Overview

SolvingwithSpecialCases

Summary

ReviewQuestions

PARTIIIDesignPatterns

Chapter5AnIntroductiontoDesignPatterns

Overview

DesignPatternsArosefromArchitectureandAnthropology

MovingfromArchitecturaltoSoftwareDesignPatterns

WhyStudyDesignPatterns?

OtherAdvantagesofStudyingDesignPatterns

Summary

ReviewQuestions

Chapter6TheFacadePattern

Overview

IntroducingtheFacadePattern

LearningtheFacadePattern

FieldNotes:TheFacadePattern

RelatingtheFacadePatterntotheCAD/CAMProblem

Summary

ReviewQuestions

Chapter7TheAdapterPattern

Overview

IntroducingtheAdapterPattern

LearningtheAdapterPattern

FieldNotes:TheAdapterPattern

RelatingtheAdapterPatterntotheCAD/CAMProblem

Summary

ReviewQuestions

Chapter8ExpandingOurHorizons

Overview

Objects:TheTraditionalViewandtheNewView

Encapsulation:TheTraditionalViewandtheNewView

FindWhatIsVaryingandEncapsulateIt

CommonalityandVariabilityAnalysisandAbstractClasses

TheQualitiesofAgileCoding

Summary

ReviewQuestions

Chapter9TheStrategyPattern

Overview

AnApproachtoHandlingNewRequirements

TheInternationalE-CommerceSystemCaseStudy:InitialRequirements

HandlingNewRequirements

TheStrategyPattern

FieldNotes:UsingtheStrategyPattern

Summary

ReviewQuestions

Chapter10TheBridgePattern

Overview

IntroducingtheBridgePattern

LearningtheBridgePattern:AnExample

AnObservationAboutUsingDesignPatterns

LearningtheBridgePattern:DerivingIt

TheBridgePatterninRetrospect

FieldNotes:UsingtheBridgePattern

Summary

ReviewQuestions

Chapter11TheAbstractFactoryPattern

overview

IntroducingtheAbstractFactoryPattern

LearningtheAbstractFactoryPattern:AnExample

LearningtheAbstractFactoryPattern:ImplementingIt

FieldNotes:TheAbstractFactoryPattern

RelatingtheAbstractFactoryPatterntotheCAD/CAMProblem

Summary

ReviewQuestions

PARTIVPuttingItAllTogether:ThinkinginPatterns

Chapter12HowDoExpertsDesign?

Overview

BuildingbyAddingDistinctions

Summary

ReviewQuestions

Chapter13SolvingtheCAD/CAMProblemwithPatterns

Overview

ReviewoftheCAD/CAMProblem

ThinkinginPatterns

ThinkinginPatterns:Step1

ThinkinginPatterns:Step2a

ThinkinginPatterns:Step2b

ThinkinginPatterns:Step2c

ThinkinginPatterns:Steps2aand2bRepeated(Facade)

ThinkinginPatterns:Steps2aand2bRepeated(Adapter)

ThinkinginPatterns:Steps2aand2bRepeated(AbstractFactory)

ThinkinginPatterns:Step3

ComparisonwiththePreviousSolution

Summary

ReviewQuestions

PARTVTowardaNewParadigmofDesign

Chapter14ThePrinciplesandStrategiesofDesign

Patterns

Overview

TheOpen-ClosedPrinciple

ThePrincipleofDesigningfromContext

ThePrincipleofEncapsulatingVariation

AbstractClassesvs.Interfaces

ThePrincipleofHealthySkepticism

Summary..

ReviewQuestions

Chapter15CommonalityandVariabilityAnalysis

Overview

CommonalityandVariabilityAnalysisandApplicationDesign

SolvingtheCAD/CAMProblemwithCVA

Summary

ReviewQuestions

Chapter16TheAnalysisMatrix

Overview

IntheRealWorld:Variations

TheInternationalE-CommerceSystemCaseStudy:HandlingVariation

FieldNotes

summary

ReviewQuestions

Chapter17TheDecoratorPattern

Overview

ALittleMoreDetail

TheDecoratorPattern

ApplyingtheDecoratorPatterntotheCaseStudy

AnotherExample:Input/Output

FieldNotes:UsingtheDecoratorPattern

TheEssenceoftheDecoratorPattern

Summary

ReviewQuestions

PARTVIOtherValuesofPatterns

Chapter18TheObserverPattern

Overview

CategoriesofPatterns

MoreRequirementsfortheInternationalE-CommerceCaseStudy

TheObserverPattern

ApplyingtheObservertotheCaseStudy

FieldNotes:UsingtheObserverPattern

Summary

ReviewQuestions

Chapter19TheTemplateMethodPattern

Overview

MoreRequirementsfortheInternationalE-CommerceCaseStudy

TheTemplateMethodPattern

ApplyingtheTemplateMethodtotheInternationalE-CommerceCaseStudy

UsingtheTemplateMethodPatterntoReduceRedundancy

FieldNotes:UsingtheTemplateMethodPattern

Summary

ReviewQuestions

PARTVIIFactories

Chapter20LessonsfromDesignPatterns:Factories

Overview

Factories

TheUniversalContextRevisited

FactoriesFollowOurGuidelines

LimitingtheVectorsofChange

AnotherWaytoThinkAboutIt

DifferentRolesofFactories

FieldNotes

Summary

ReviewQuestions

Overview

Chapter21TheSingletonPatternandtheDouble-Checked

LockingPattern

IntroducingtheSingletonPattern

ApplyingtheSingletonPatterntotheCaseStudy

AVariant:TheDouble-CheckedLockingPattern

Reflections

FieldNotes:UsingtheSingletonandDouble-CheckedLockingPatterns

summary

ReviewQuestions

Chapter22TheObjectPoolPattern

Overview

AProblemRequiringtheManagementofObjects

TheObjectPoolPattern

Observation:FactoriesCanDoMuchMoreThanInstantiation

Summary

ReviewQuestions

Chapter23TheFactoryMethodPattern

Overview

MoreRequirementsfortheCaseStudy

TheFactoryMethodPattern

FactoryMethodPatternandObject-OrientedLanguages

FieldNotes:UsingtheFactoryMethodPattern

Summary

ReviewQuestions

Chapter24SummaryofFactories

Overview

StepsintheSoftwareProcess

ParallelsinFactoriesandXPPractices

ScalingSystems

PARTVIIIEndingsandBeginnings

Chapter25DesignPatternsReviewed:ASummation

andaBeginning

Overview

ASummaryofObject-OrientedPrinciples

HowDesignPatternsEncapsulateImplementations

CommonalityandVariabilityAnalysisandDesignPatterns

DecomposingaProblemDomainintoResponsibilities

PatternsandContextualDesign

RelationshipsWithinaPattern

DesignPatternsandAgileCodingPractices

FieldNotes

Summary

ReviewQuestions

Chapter26Bibliography

DesignPatternsExplained:TheWebSiteCompanion

RecommendedReading

RecommendedReadingforJavaProgrammers

RecommendedReadingforC++Programmers

RecommendedReading,forCOBOLProgrammers

RecommendedReadingonextremeProgramming

RecommendedReadingonGeneralProgramming

PersonalFavorites..

Index