领域驱动设计:软件核心复杂性应对之道(英文版)
¥
30
3.7折
¥
82
九品
仅1件
作者[美]埃文斯 著
出版社人民邮电出版社
出版时间2010-04
版次1
装帧平装
上书时间2024-10-31
商品详情
- 品相描述:九品
图书标准信息
-
作者
[美]埃文斯 著
-
出版社
人民邮电出版社
-
出版时间
2010-04
-
版次
1
-
ISBN
9787115224071
-
定价
82.00元
-
装帧
平装
-
开本
16开
-
纸张
胶版纸
-
页数
529页
-
字数
663千字
-
正文语种
英语
-
丛书
图灵程序设计丛书
- 【内容简介】
-
领域模型使开发人员可以表达丰富的软件功能需求,由此实现的软件可以满足用户真正的需要,因此被公认为是软件设计的关键所在,其重要性显而易见。但讲述如何将领域模型用于软件开发过程的优秀实用资料却不多见。本书正是这一领域最著名的作品,受到众多业界大师的赞美和推介,广受读者好评。
要通过创建领域模型来加速复杂的软件开发,就需要利用大量最佳实践和标准模式在开发团队中形成统一的交流语言;不仅重构代码,而且要重构代码底层的模型;同时采取反复迭代的敏捷开发方法,深入理解领域特点,促进领域专家与程序员的良好沟通。针对这些内容,本书结合真实项目,系统地介绍了领域驱动开发的目标、意义和方法,充分讨论了复杂系统的建模与设计问题。
本书将指导面向对象开发人员、系统分析人员和设计人员合理地组织工作,各有侧重、彼此协作,有条不紊地进行复杂系统的开发,帮助他们建立丰富而实用的领域模型,并由此创建长期适用的优质软件。
- 【作者简介】
-
EricEvans,世界著名软件建模专家,创建了DomainLanguage公司,致力于帮助公司机构创建与业务紧密相关的软件。他在全球各地宣讲领域驱动设计的思想,开设课程、参加会议、接受专访,拥有大批的追随者。从20世纪80年代开始,他就以设计师和程序员的双重身份参与过许多大型面向对象系统的设计和开发,涉及各种复杂的业务和技术领域。同时,他还培训和指导过许多开发团队开展极限编程实践。
- 【目录】
-
PartⅠPuttingtheDomainModeltoWork1
Chapter1:CrunchingKnowledge7
IngredientsofEffectiveModeling12
KnowledgeCrunching13
ContinuousLearning15
Knowledge-RichDesign17
DeepModels20
Chapter2:CommunicationandtheUseofLanguage23
UBIQUITOUSLANGUAGE24
ModelingOutLoud30
OneTeam,OneLanguage32
DocumentsandDiagrams35
WrittenDesignDocuments37
ExecutableBedrock40
ExplanatoryModels41
Chapter3:BindingModelandImplementation45
MODEL-DRIVENDESIGN47
ModelingParadigmsandToolSupport50
LettingtheBonesShow:WhyModelsMattertoUsers57
HANDS-ONMODELERS60
PartⅡTheBuildingBlocksofaModel-DrivenDesign63
Chapter4:IsolatingtheDomain67
LAYEREDARCHITECTURE68
RelatingtheLayers72
ArchitecturalFrameworks74
TheDomainLayerIsWheretheModelLives75
THESMARTUI“ANTI-PATTERN”76
OtherKindsofIsolation79
Chapter5:AModelExpressedinSoftware81
Associations82
ENTITIES(A.K.A.REFERENCEOBJECTS)89
ModelingENTITIES93
DesigningtheIdentityOperation94
VALUEOBJECTS97
DesigningVALUEOBJECTS99
DesigningAssociationsThatInvolveVALUEOBJECTS102
SERVICES104
SERVICESandtheIsolatedDomainLayer106
Granularity108
AccesstoSERVICES108
MODULES(A.K.A.PACKAGES)109
AgileMODULES111
ThePitfallsofInfrastructure-DrivenPackaging112
ModelingParadigms116
WhytheObjectParadigmPredominates116
NonobjectsinanObjectWorld119
StickingwithMODEL-DRIVENDESIGNWhen
MixingParadigms120
Chapter6:TheLifeCycleofaDomainObject123
AGGREGATES125
FACTORIES136
ChoosingFACTORIESandTheirSites139
WhenaConstructorIsAllYouNeed141
DesigningtheInterface143
WhereDoesInvariantLogicGo?144
ENTITYFACTORIESVersusVALUEOBJECTFACTORIES144
ReconstitutingStoredObjects145
REPOSITORIES147
QueryingaREPOSITORY152
ClientCodeIgnoresREPOSITORYImplementation;
DevelopersDoNot154
ImplementingaREPOSITORY155
WorkingWithinYourFrameworks156
TheRelationshipwithFACTORIES157
DesigningObjectsforRelationalDatabases159
Chapter7:UsingtheLanguage:AnExtendedExample163
IntroducingtheCargoShippingSystem163
IsolatingtheDomain:IntroducingtheApplications166
DistinguishingENTITIESandVALUEOBJECTS167
RoleandOtherAttributes168
DesigningAssociationsintheShippingDomain169
AGGREGATEBoundaries170
SelectingREPOSITORIES172
WalkingThroughScenarios173
SampleApplicationFeature:ChangingtheDestinationofaCargo173
SampleApplicationFeature:RepeatBusiness173
ObjectCreation174
FACTORIESandConstructorsforCargo174
AddingaHandlingEvent175
PauseforRefactoring:AnAlternativeDesignofthe
CargoAGGREGATE177
MODULESintheShippingModel179
IntroducingaNewFeature:AllocationChecking181
ConnectingtheTwoSystems182
EnhancingtheModel:SegmentingtheBusiness183
PerformanceTuning185
AFinalLook186
PartⅢRefactoringTowardDeeperInsight187
Chapter8:Breakthrough193
StoryofaBreakthrough194
ADecentModel,andYet194
TheBreakthrough196
ADeeperModel198
ASoberingDecision199
ThePayoff200
Opportunities201
FocusonBasics201
Epilogue:ACascadeofNewInsights202
Chapter9:MakingImplicitConceptsExplicit205
DiggingOutConcepts206
ListentoLanguage206
ScrutinizeAwkwardness210
ContemplateContradictions216
ReadtheBook217
Try,TryAgain219
HowtoModelLessObviousKindsofConcepts219
ExplicitConstraints220
ProcessesasDomainObjects222
SPECIFICATION224
ApplyingandImplementingSPECIFICATION227
Chapter10:SuppleDesign243
INTENTION-REVEALINGINTERFACES246
SIDE-EFFECT-FREEFUNCTIONS250
ASSERTIONS255
CONCEPTUALCONTOURS260
STANDALONECLASSES265
CLOSUREOFOPERATIONS268
DeclarativeDesign270
Domain-SpecificLanguages272
ADeclarativeStyleofDesign273
ExtendingSPECIFICATIONSinaDeclarativeStyle273
AnglesofAttack282
CarveOffSubdomains283
DrawonEstablishedFormalisms,WhenYouCan283
Chapter11:ApplyingAnalysisPatterns293
Chapter12:RelatingDesignPatternstotheModel309
STRATEGY(A.K.A.POLICY)311
COMPOSITE315
WhyNotFLYWEIGHT?320
Chapter13:RefactoringTowardDeeperInsight321
Initiation321
ExplorationTeams322
PriorArt323
ADesignforDevelopers324
Timing324
CrisisasOpportunity325
PartⅣStrategicDesign327
Chapter14:MaintainingModelIntegrity331
BOUNDEDCONTEXT335
RecognizingSplintersWithinaBOUNDEDCONTEXT339
CONTINUOUSINTEGRATION341
CONTEXTMAP344
TestingattheCONTEXTBoundaries351
OrganizingandDocumentingCONTEXTMAPS351
RelationshipsbetweenBOUNDEDCONTEXTS352
SHAREDKERNEL354
CUSTOMER/SUPPLIERDEVELOPMENTTEAMS356
CONFORMIST361
ANTICORRUPTIONLAYER364
DesigningtheInterfaceoftheANTICORRUPTIONLAYER366
ImplementingtheANTICORRUPTIONLAYER366
ACautionaryTale370
SEPARATEWAYS371
OPENHOSTSERVICE374
PUBLISHEDLANGUAGE375
UnifyinganElephant378
ChoosingYourModelContextStrategy381
TeamDecisionorHigher382
PuttingOurselvesinContext382
TransformingBoundaries382
AcceptingThatWhichWeCannotChange:Delineating
theExternalSystems383
RelationshipswiththeExternalSystems384
TheSystemUnderDesign385
CateringtoSpecialNeedswithDistinctModels386
Deployment387
TheTrade-off388
WhenYourProjectIsAlreadyUnderWay388
Transformations389
MergingCONTEXTS:SEPARATEWAYS?SHAREDKERNEL389
MergingCONTEXTS:SHAREDKERNEL?CONTINUOUS
INTEGRATION391
PhasingOutaLegacySystem393
OPENHOSTSERVICE?PUBLISHEDLANGUAGE394
Chapter15:Distillation397
COREDOMAIN400
ChoosingtheCORE402
WhoDoestheWork?403
AnEscalationofDistillations404
GENERICSUBDOMAINS406
GenericDoesntMeanReusable412
ProjectRiskManagement413
DOMAINVISIONSTATEMENT415
HIGHLIGHTEDCORE417
TheDistillationDocument418
TheFlaggedCORE419
TheDistillationDocumentasProcessTool420
COHESIVEMECHANISMS422
GENERICSUBDOMAINVersusCOHESIVEMECHANISM424
WhenaMECHANISMIsPartoftheCOREDOMAIN425
DistillingtoaDeclarativeStyle426
SEGREGATEDCORE428
TheCostsofCreatingaSEGREGATEDCORE429
EvolvingTeamDecision430
ABSTRACTCORE435
DeepModelsDistill436
ChoosingRefactoringTargets437
Chapter16:Large-ScaleStructure439
EVOLVINGORDER444
SYSTEMMETAPHOR447
The“NaiveMetaphor”andWhyWeDontNeedIt448
RESPONSIBILITYLAYERS450
ChoosingAppropriateLayers460
KNOWLEDGELEVEL465
PLUGGABLECOMPONENTFRAMEWORK475
HowRestrictiveShouldaStructureBe?480
RefactoringTowardaFittingStructure481
Minimalism481
CommunicationandSelf-Discipline482
RestructuringYieldsSuppleDesign482
DistillationLightenstheLoad483
Chapter17:BringingtheStrategyTogether485
CombiningLarge-ScaleStructuresandBOUNDEDCONTEXTS485
CombiningLarge-ScaleStructuresandDistillation488
AssessmentFirst490
WhoSetstheStrategy?490
EmergentStructurefromApplicationDevelopment491
ACustomer-FocusedArchitectureTeam492
SixEssentialsforStrategicDesignDecisionMaking492
TheSameGoesfortheTechnicalFrameworks495
BewaretheMasterPlan496
Conclusion499
Appendix:TheUseofPatternsinThisBook507
Glossary511
References515
PhotoCredits517
Index519
点击展开
点击收起
— 没有更多了 —
以下为对购买帮助不大的评价