没有合适的资源?快使用搜索试试~ 我知道了~
Domain-Driven Design –Tackling Complexity in the Heart of Softwa...
需积分: 50 38 下载量 120 浏览量
2020-05-09
16:30:44
上传
评论
收藏 11.84MB PDF 举报
温馨提示
The software development community widely acknowledges that domain modeling is central to software design. Through domain modeling, software developers are able to express rich functionality and translate that functionality into software implementation that truly serves the needs of its users. Despi
资源推荐
资源详情
资源评论
Domain-Driven Design
Tackling Complexity in the Heart of Software
Eric Evans
eric@domainlanguage.com
(415) 902-7873
(Final Manuscript, April 15, 2003)
For current draft and other information, see
www.domainlanguage.com
Copyright
©
2003, Eric Evans. All rights reserved.
(Final Manuscript, April 15, 2003) © Eric Evans, 2003 2
To Mom and Dad
(Final Manuscript, April 15, 2003) © Eric Evans, 2003 3
Table of Contents
Acknowledgements....................................................................................................................................6
Preface........................................................................................................................................................7
P a r t I.
P u t t in g t h e Do m a in Mo d e l t o Wo r k ................................ 1 2
1.
Crunching Knowledge ..................................................................................................................15
2.
Communication and the Use of Language ..................................................................................24
U
BIQUITOUS
L
ANGUAGE
............................................................................................................25
Documents and Diagrams .........................................................................................................31
3.
Binding Model and Implementation............................................................................................37
M
ODEL
-D
RIVEN
D
ESIGN
............................................................................................................38
Letting the Bones Show; Why Models Matter to Users..................................................................45
HANDS-ON MODELERS ..............................................................................................................47
P a r t II.
Bu ild in g B lo c k s o f a Mo d e l-Dr iv e n De s ig n ..................... 4 9
4.
Isolating the Domain.....................................................................................................................51
L
AYERED
A
RCHITECTURE
..........................................................................................................52
The Domain Layer is Where the Model Lives ..........................................................................56
S
MART
UI A
NTI
-P
ATTERN
.........................................................................................................57
5.
A Model Expressed in Software...................................................................................................60
Associations ..............................................................................................................................61
E
NTITIES
(
AKA
R
EFERENCE
O
BJECTS
)........................................................................................65
V
ALUE
O
BJECTS
.........................................................................................................................70
S
ERVICES
...................................................................................................................................75
M
ODULES
(
AKA
P
ACKAGES
) ......................................................................................................79
Modeling Paradigms .......................................................................................................................84
6.
The Lifecycle of a Domain Object ...............................................................................................88
A
GGREGATES
.............................................................................................................................89
F
ACTORIES
.................................................................................................................................98
R
EPOSITORIES
..........................................................................................................................106
Designing Objects for Relational Databases ...........................................................................113
7.
Using the Language in an Example: A Cargo Shipping System.............................................115
P a r t III.
Re fa c t o rin g T o w a rd De e p e r In s ig h t .......................... 1 3 3
8.
Breakthrough ..............................................................................................................................136
9.
Making Implicit Concepts Explicit............................................................................................145
Listen to Language..................................................................................................................145
Scrutinize Awkwardness.........................................................................................................148
Contemplate Contradictions....................................................................................................152
Read the Book.........................................................................................................................153
Try, Try Again ........................................................................................................................154
Expressing Less Obvious Categories of Concepts........................................................................155
Explicit Constraints.................................................................................................................155
Representing Processes as Domain Objects............................................................................157
S
PECIFICATION
.........................................................................................................................158
10.
Supple Design ..............................................................................................................................170
I
NTENTION
R
EVEALING
I
NTERFACES
.......................................................................................172
S
IDE
-E
FFECT
-F
REE
F
UNCTIONS
...............................................................................................175
A
SSERTIONS
.............................................................................................................................179
C
ONCEPTUAL
C
ONTOURS
.........................................................................................................183
S
TANDALONE
C
LASSES
............................................................................................................188
C
LOSURE OF
O
PERATIONS
........................................................................................................190
(Final Manuscript, April 15, 2003) © Eric Evans, 2003 4
Declarative Design ..................................................................................................................192
Extending S
PECIFICATIONS
in a Declarative Style ..................................................................193
Carve off Subdomains...................................................................................................................200
Draw on Established Formalisms, When You Can.......................................................................200
Example Integrating the Patterns: Shares Math ............................................................................200
11.
Applying Analysis Patterns........................................................................................................207
12.
Relating Design Patterns to the Model......................................................................................218
S
TRATEGY AKA
P
OLICY
...........................................................................................................219
COMPOSITE ..............................................................................................................................223
Why Not F
LYWEIGHT
?..................................................................................................................229
13.
Bringing the Pieces Together .....................................................................................................230
P a r t IV.
S t r a t e g ic De s ig n ........................................................ 2 3 3
14.
Maintaining Model Integrity......................................................................................................235
B
OUNDED
C
ONTEXT
................................................................................................................238
C
ONTINUOUS
I
NTEGRATION
.....................................................................................................242
C
ONTEXT
M
AP
.........................................................................................................................244
Relationships Between B
OUNDED
C
ONTEXTS
...............................................................................250
S
HARED
K
ERNEL
......................................................................................................................251
CUSTOMER
/
SUPPLIER DEVELOPMENT TEAMS
............................................................................252
C
ONFORMIST
............................................................................................................................255
ANTICORRUPTION LAYER ........................................................................................................257
S
EPARATE
W
AYS
.....................................................................................................................261
O
PEN
H
OST
S
ERVICE
................................................................................................................263
P
UBLISHED
L
ANGUAGE
............................................................................................................264
Unifying an Elephant ....................................................................................................................266
Choosing Your Model Context Strategy.......................................................................................268
Transformations............................................................................................................................273
Merging C
ONTEXTS
(S
EPARATE
W
AYS
S
HARED
K
ERNEL
) .................................................274
Merging C
ONTEXTS
(S
HARED
K
ERNEL
C
ONTINUOUS
I
NTEGRATION
).................................276
Phasing Out a Legacy System.................................................................................................277
O
PEN
H
OST
S
ERVICE
P
UBLISHED
L
ANGUAGE
.....................................................................278
15.
Distillation....................................................................................................................................279
C
ORE
D
OMAIN
.........................................................................................................................281
GENERIC SUBDOMAINS ............................................................................................................285
D
OMAIN
V
ISION
S
TATEMENT
...................................................................................................290
H
IGHLIGHTED
C
ORE
.................................................................................................................292
C
OHESIVE
M
ECHANISMS
..........................................................................................................295
Distilling to a Declarative Style ..............................................................................................297
S
EGREGATED
C
ORE
..................................................................................................................298
A
BSTRACT
C
ORE
......................................................................................................................305
Deep Models Distill ......................................................................................................................306
Choosing Refactoring Targets.......................................................................................................306
16.
Large-Scale Structure.................................................................................................................307
E
VOLVING
O
RDER
....................................................................................................................310
S
YSTEM
M
ETAPHOR
.................................................................................................................312
R
ESPONSIBILITY
L
AYERS
.........................................................................................................314
K
NOWLEDGE
L
EVEL
................................................................................................................326
P
LUGGABLE
C
OMPONENT
F
RAMEWORK
..................................................................................333
How Restrictive Should a Structure Be?.......................................................................................336
Refactoring Toward a Fitting Structure ........................................................................................337
17.
Bringing the Strategy Together .................................................................................................339
Bringing Together Large-Scale Structures and B
OUNDED
C
ONTEXTS
..........................................339
剩余360页未读,继续阅读
资源评论
i落魂
- 粉丝: 17
- 资源: 26
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- ta-lib-0.5.1-cp311-cp311-win32.whl
- ta-lib-0.5.1-cp311-cp311-win-arm64.whl
- ta-lib-0.5.1-cp311-cp311-win-amd64.whl
- 微信小程序开发-地图定位.zip
- ta-lib-0.5.1-cp310-cp310-win32.whl
- ta-lib-0.5.1-cp313-cp313-win32.whl
- ta-lib-0.5.1-cp313-cp313-win-amd64.whl
- 这是一个基于html的心形代码.zip
- 安卓系统开发的全部教程
- ta-lib-0.5.1-cp312-cp312-win32.whl
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功