图书介绍
领域驱动设计 软件核心复杂性应对之道 英文版PDF|Epub|txt|kindle电子书版本网盘下载
- (美)ERICEVANS著 著
- 出版社: 北京:人民邮电出版社
- ISBN:9787115224071
- 出版时间:2010
- 标注页数:529页
- 文件大小:25MB
- 文件页数:552页
- 主题词:软件设计-英文
PDF下载
下载说明
领域驱动设计 软件核心复杂性应对之道 英文版PDF格式电子书版下载
下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!
(文件页数 要大于 标注页数,上中下等多册电子书除外)
注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具
图书目录
Part Ⅰ Putting the Domain Model to Work1
Chapter 1:Crunching Knowledge7
Ingredients of Effective Modeling12
Knowledge Crunching13
Continuous Learning15
Knowledge-Rich Design17
Deep Models20
Chapter 2:Communication and the Use of Language23
UBIQUITOUS LANGUAGE24
Modeling Out Loud30
One Team,One Language32
Documents and Diagrams35
Written Design Documents37
Executable Bedrock40
Explanatory Models41
Chapter 3:Binding Model and Implementation45
MODEL-DRIVEN DESIGN47
Modeling Paradigms and Tool Support50
Letting the Bones Show:Why Models Matter to Users57
HANDS-ON MODELERS60
Part Ⅱ The Building Blocks of a Model-Driven Design63
Chapter 4:Isolating the Domain67
LAYERED ARCHITECTURE68
Relating the Layers72
Architectural Frameworks74
The Domain Layer Is Where the Model Lives75
THE SMART UI"ANTI-PATTERN"76
Other Kinds of Isolation79
Chapter 5:A Model Expressed in Software81
Associations82
ENTITIES(A.K.A.REFERENCE OBJECTS)89
Modeling ENTITIES93
Designing the Identity Operation94
VALUE OBJECTS97
Designing VALUE OBJECTS99
Designing Associations That Involve VALUE OBJECTS102
SERVICES104
SERVICES and the Isolated Domain Layer106
Granularity108
Access to SERVICES108
MODULES(A.K.A.PACKAGES)109
Agile MODULES111
The Pitfalls of Infrastructure-Driven Packaging112
Modeling Paradigms116
Why the Object Paradigm Predominates116
Nonobjects in an Object World119
Sticking with MODEL-DRIVEN DESIGN When Mixing Paradigms120
Chapter 6:The Life Cycle of a Domain Object123
AGGREGATES125
FACTORIES136
Choosing FACTORIES and Their Sites139
When a Constructor Is All You Need141
Designing the Interface143
Where Does Invariant Logic Go?144
ENTITY FACTORIES Versus VALUE OBJECT FACTORIES144
Reconstituting Stored Objects145
REPOSITORIES147
Querying a REPOSITORY152
Client Code Ignores REPOSITORY Implementation;Developers Do Not154
Implementing a REPOSITORY155
Working Within Your Frameworks156
The Relationship with FACTORIES157
Designing Objects for Relational Databases159
Chapter 7:Using the Language:An Extended Example163
Introducing the Cargo Shipping System163
Isolating the Domain:Introducing the Applications166
Distinguishing ENTITIES and VALUE OBJECTS167
Role and Other Attributes168
Designing Associations in the Shipping Domain169
AGGREGATE Boundaries170
Selecting REPOSITORIES172
Walking Through Scenarios173
Sample Application Feature:Changing the Destination of a Cargo173
Sample Application Feature:Repeat Business173
Object Creation174
FACTORIES and Constructors for Cargo174
Adding a Handling Event175
Pause for Refactoring:An Alternative Design of the Cargo AGGREGATE177
MODULES in the Shipping Model179
Introducing a New Feature:Allocation Checking181
Connecting the Two Systems182
Enhancing the Model:Segmenting the Business183
Performance Tuning185
A Final Look186
Part Ⅲ Refactoring Toward Deeper Insight187
Chapter 8:Breakthrough193
Story of a Breakthrough194
A Decent Model,and Yet...194
The Breakthrough196
A Deeper Model198
A Sobering Decision199
The Payoff200
Opportunities201
Focus on Basics201
Epilogue:A Cascade of New Insights202
Chapter 9:Making Implicit Concepts Explicit205
Digging Out Concepts206
Listen to Language206
Scrutinize Awkwardness210
Contemplate Contradictions216
Read the Book217
Try,Try Again219
How to Model Less Obvious Kinds of Concepts219
Explicit Constraints220
Processes as Domain Objects222
SPECIFICATION224
Applying and Implementing SPECIFICATION227
Chapter 10:Supple Design243
INTENTION-REVEALING INTERFACES246
SIDE-EFFECT-FREE FUNCTIONS250
ASSERTIONS255
CONCEPTUAL CONTOURS260
STANDALONE CLASSES265
CLOSURE OF OPERATIONS268
Declarative Design270
Domain-Specific Languages272
A Declarative Style of Design273
Extending SPECIFICATIONS in a DPclarative Style273
Angles of Attack282
Carve Off Subdomams283
Draw on Established Formalisms,When You Can283
Chapter 11:Applying Analysis Patterns293
Chapter 12:Relating Design Patterns to the Model309
STRATEGY (A.K.A.POLICY)311
COMPOSITE315
Why Not FLYWEIGHT?320
Chapter 13:Refactoring Toward Deeper Insight321
Initiation321
Exploration Teams322
Prior Art323
A Design for Developers324
Timing324
Crisis as Opportunity325
Part Ⅳ Strategic Design327
Chapter 14:Maintaining Model Integrity331
BOUNDED CONTEXT335
Recognizing Splinters Within a BOUNDED CONTEXT339
CONTINUOUS INTEGRATION341
CONTEXT MAP344
Testing at the CONTEXT Boundaries351
Organizing and Documenting CONTEXT MAPS351
Relationships Between BOUNDED CONTEXTS352
SHARED KERNEL354
CUSTOMER/SUPPLIER DEVELOPMENT TEAMS356
CONFORMIST361
ANTICORRUPTION LAYER364
Designing the Interface of the ANTICORRUPTION LAYER366
Implementing the ANTICORRUPTION LAYER366
A Cautionary Tale370
SEPARATE WAYS371
OPEN HOST SERVICE374
PUBLISHED LANGUAGE375
Unifying an Elephant378
Choosing Your Model Context Strategy381
Team Decision or Higher382
Putting Ourselves in Context382
Transforming Boundaries382
Accepting That Whicb We Cannot Change:Delineating the External Systems383
Relationships with the External Systems384
The System Under Design385
Catering to Special Needs with Distinct Models386
Deployment387
The Trade-off388
Whee Your Project Is Already Under Way388
Transformations389
Merging CONTEXTS:SEPARATE WAYS→SHARED KERNEL389
Merging CONTEXTS:SHARED KERNEL→CONTINUOUS INTEGRATION391
Phasing Out a Legacy System393
OPEN HOST SERVICE→PUBLISHED LANGUAGE394
Chapter 15:Distillation397
CORE DOMAIN400
Choosing the CORE402
Who Does the Work?403
An Escalation of Distillations404
GENERIC SUBDOMAINS406
Generic Doesn't Mean Reusable412
Project Risk Management413
DOMAIN VISION STATEMENT415
HIGHLIGHTED CORE417
The Distillation Document418
The Flagged CORE419
The Distillation Document as Process Tool420
COHESIVE MECHANISMS422
GENERIC SUBDOMAIN Versus COHESIVE MECHANISM424
When a MECHANISM Is Part of the CORE DOMAIN425
Distilling to a Declarative Style426
SEGREGATED CORE428
The Costs of Creating a SEGREGATED CORE429
Evolving Team Decision430
ABSTRACT CORE435
Deep Models Distill436
Choosing Refactoring Targets437
Chapter 16:Large-Scale Structure439
EVOLVING ORDER444
SYSTEM METAPHOR447
The "Naive Metaphor" and Why We Don't Need It448
RESPONSIBILITY LAYERS450
Choosing Appropriate Layers460
KNOWLEDGE LEVEL465
PLUGGABLE COMPONENT FRAMEWORK475
How Restrictive Should a Structure Be?480
Refactoring Toward a Fitting Structure481
Minimalism481
Communication and Self-Discipline482
Restructuring Yields Supple Design482
Distillation Lightens the Load483
Chapter 17:Bringing the Strategy Together485
Combining Large-Scale Structures and BOUNDED CONTEXTS485
Combining Large-Scale Structures and Distillation488
Assessment First490
Who Sets the Strategy?490
Emergent Structure from Application Development491
A Customer-Focused Architecture Team492
SiX Essentials for Strategic Design Decision Making492
The Same Goes for the Technical Frameworks495
Bewart the Master Plan496
Conclusion499
Appendix:The Use of Patterns in This Book507
Glossary511
References515
Photo Credits517
Index519