没有合适的资源?快使用搜索试试~ 我知道了~
Domain-Driven Design –Tackling Complexity in the Heart of Softwa...
需积分: 50 38 下载量 12 浏览量
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币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 基于Beego开发的问答系统详细文档+优秀项目+全部资料.zip
- 基于beego框架的接口在线文档管理系统详细文档+优秀项目+全部资料.zip
- 基于beego框架的cms系统详细文档+优秀项目+全部资料.zip
- 基于GF(Go Frame)的后台管理系统详细文档+优秀项目+全部资料.zip
- 基于Gin + Ant Design Pro的前后端分离管理系统的前后端模块详细文档+优秀项目+全部资料.zip
- 基于Excel VBA和Go语言的自动化考试系统详细文档+优秀项目+全部资料.zip
- 基于gin+websocket+mongodb实现 IM 即时聊天系统,基于WS连接的即时聊天,支持单聊,在线回复以及历史记录查询详细文档+优秀项目+全部资料.zip
- 基于Gin + Vue + Element UI & Arco Design & Ant Design 的前后端分离权限管理系统脚手架(包含了
- 基于gin+vue+element搭建的商城管理系统详细文档+优秀项目+全部资料.zip
- 基于Go + Vue开发的管理系统脚手架, 前后端分离, 仅包含项目开发的必需部分, 基于角色的访问控制(RBAC), 分包合理, 精简易于扩展。 后端Go包含
- 基于go micro + gin + kafka + etcd的分布式消息即时通信微服务系统详细文档+优秀项目+全部资料.zip
- 基于Go + Golang + Uniapp + Vue + ElementUi + Goframe框架的新零售社交电商系统(除了go商城系统外,还有java商
- 基于Go 标准库构建的博客系统、此项目非常适合作为 Go 新手的第一个上手项目详细文档+优秀项目+全部资料.zip
- 基于go,gin,JWT,权限管理系统详细文档+优秀项目+全部资料.zip
- 基于Go Web开发实战,基于Go语言,Beego框架开发的B2C模式的电商系统详细文档+优秀项目+全部资料.zip
- 基于go、gorm、gin、mysql及layui构建的人力资源管理系统。提供员工管理、考试管理、薪资考勤管理、权限管理及分公司分库数据隔离等功能详细文档+优秀项目+全部资料.zip
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功