部分运用领域模型
第1章消化知识
1.1有效建模的要素
1.2知识消化
1.3持续学习
1.4知识丰富的设计
1.5深层模型
第2章交流与语言的使用
2.1模屎UBIQUITOUSLANGUAGE
2.2“大声地”建模
2.3一个团队,一种语言
2.4文档和图
2.4.1书面设计文档
2.4.2 依赖可执行代码的情况
2.5解释性模型
第3章绑定模型和实现
3.1模屎MODEL-DRIVENDESIGN
3.2建模范式和工具支持
3.3揭示主旨:为什么模型对用户至关重要
3.4模屎HANDS-ONMODELER
第二部分模型驱动设计的构造块
第4章分离领域
4.1模屎LAYEREDARCHITECTURE
4.1.1将各层关联起来
4.1.2架构框架
4.2领域层是模型的精髓
4.3模屎THESMARTUI“反模式”
4.4其他分离方式
第5章软件中所表示的模型
5.1关联
5.2模屎ENTITY(又称为REFERENCEOBJECT)
5.2.1ENTITY建模
5.2.2设计标识操作
5.3模屎VALUEOBJECT
5.3.1设计VALUEOBJECT
5.3.2设计包含VALUEOBJECT的关联
5.4模屎SERVICE
5.4.1SERVICE与孤立的领域层
5.4.2粒度
5.4.3对SERVICE的访问
5.5模屎MODULE(也称为PACKAGE)
5.5.1敏捷的MODULE
5.5.2通过基础设施打包时存在的隐患
5.6建模范式
5.6.1对象范式流行的原因
5.6.2对象世界中的非对象
5.6.3在混合范式中坚持使用MODEL-DRIVENDESIGN
第6章领域对象的周期
6.1模屎AGGREGATE
6.2模屎FACTORY
6.2.1选择FACTORY及其应用位置
6.2.2有些情况下只需使用构造函数
6.2.3接口的设计
6.2.4固定规则的相关逻辑应放置在哪里
6.2.5ENTITYFACTORY与VALUEOBJECTFACTORY
6.2.6重建已存储的对象
6.3模屎REPOSITORY
6.3.1REPOSITORY的查询
6.3.2客户代码可以忽略REPOSITORY的实现,但开发人员不能忽略
6.3.3REPOSITORY的实现
6.3.4在框架内工作
6.3.5REPOSITORY与FACTORY的关系
6.4为关系数据库设计对象
第7章使用语言:一个扩展的示例
7.1货物运输系统简介
7.2隔离领域:引入应用层
7.3将ENTITY和VALUEOBJECT区别开
7.4设计运输领域中的关联
7.5AGGREGATE边界
7.6选择REPOSITORY
7.7场景走查
7.7.1应用程序特性举例: 改Cargo的目的地
7.7.2应用程序特性举例:重复业务
7.8对象的创建
7.8.1Cargo的FACTORY和构造函数
7.8.2添加HandlingEvent
7.9停一下,重构:CargoAGGREGATE的另一种设计
(咨询特价)运输模型中的MODULE
(咨询特价)引入新特性:配额检查
(咨询特价).1连接两个系统
(咨询特价).2进一步完善模型:划分业务
(咨询特价).3性能优化
(咨询特价)小结
第三部分通过重构来加深理解
第8章突破
8.1一个关于突破的故事
8.1.1华而不实的模型
8.1.2突破
8.1.3 深层模型
8.1.4冷静决策
8.1.5成果
8.2机遇
8.3关注根本
8.4后记:越来越多的新理解
第9章将隐式概念转变为显式概念
9.1概念挖掘
9.1.1倾听语言
9.1.2检查不足之处
9.1.3思考矛盾之处
9.1.4查阅书籍
9.1.5尝试,再尝试
9.2如何为那些不太明显的概念建模
9.2.1显式的约束
9.2.2将过程建模为领域对象
9.2.3模屎SPECIFICATION
9.2.4SPECIFICATION的应用和实现
0章柔性设计
10.1模屎INTENTION-REVEALING
INTERFACES
10.2模屎SIDE-EFFECT-FREEFUNCTION
10.3模屎ASSERTION
10.4模屎CONCEPTUALCONTOUR
10.5模屎STANDALONECLASS
10.6模屎CLOSUREOFOPERATION
10.7声明式设计
10.8声明式设计风格
10.9切入问题的角度
10.9.1分割子领域
10.9.2尽可能利用已有的形式
1章应用分析模式
2章将设计模式应用于模型
12.1模屎STRATEGY(也称为POLICY)
12.2模屎COMPOSITE
12.3为什么没有介绍FLYWEIGHT
3章通过重构得到 深层的理解
13.1开始重构
13.2探索团队
13.3借鉴先前的经验
13.4针对开发人员的设计
13.5重构的时机
13.6危机就是机遇
第四部分战略设计
4章保持模型的完整性
14.1模屎BOUNDEDCONTEXT
14.2模屎CONTINUOUSINTEGRATION
14.3模屎CONTEXTMAP
14.3.1测试CONTEXT的边界
14.3.2CONTEXTMAP的组织和文档化
14.4BOUNDEDCONTEXT之间的关系
14.5模屎SHAREDKERNEL
14.6模屎CUSTOMER/SUPPLIERDEVELOPMENTTEAM
14.7模屎CONFORMIST
14.8模屎ANTICORRUPTIONLAYER
14.8.1设计ANTICORRUPTIONLAYER的接口
14.8.2实现ANTICORRUPTIONLAYER
14.8.3一个关于防御的故事
14.9模屎SEPARATEWAY
(咨询特价)模屎OPENHOSTSERVICE
(咨询特价)模屎PUBLISHEDLANGUAGE
(咨询特价)“大象”的统一
(咨询特价)选择你的模型上下文策略
(咨询特价).1团队决策或 高层决策
(咨询特价).2置身上下文中
(咨询特价).3转换边界
(咨询特价).4接受那些我们无法 改的事物:描述外部系统
(咨询特价).5与外部系统的关系
(咨询特价).6设计中的系统
(咨询特价).7用不同模型满足特殊需要
(咨询特价).8部署
(咨询特价).9权衡
(咨询特价).10当项目正在进行时
(咨询特价)转换
(咨询特价).1合并CONTEXT:SEPARATEWAY→SHAREDKERNEL
(咨询特价).2合并CONTEXT:SHAREDKERNEL→CONTINUOUSINTEGRATION
(咨询特价).3逐步淘汰遗留系统
(咨询特价).4OPENHOSTSERVICE→PUBLISHEDLANGUAGE
5章精炼
15.1模屎COREDOMAIN
15.1.1选择核心
15.1.2工作的分配
15.2精炼的逐步提升
15.3模屎GENERICSUBDOMAIN
15.3.1通用不等于可重用
15.3.2项目风险管理
15.4模屎DOMAINVISIONSTATEMENT
15.5模屎HIGHLIGHTEDCORE
15.5.1精炼文档
15.5.2标明CORE
15.5.3把精炼文档作为过程工具
15.6模屎COHESIVEMECHANISM
15.6.1GENERICSUBDOMAIN与COHESIVEMECHANISM的比较
15.6.2MECHANISM是COREDOMAIN一部分
15.7通过精炼得到声明式风格
15.8模屎SEGREGATEDCORE
15.8.1创建SEGREGATEDCORE的代价
15.8.2不断发展演变的团队决策
15.9模屎ABSTRACTCORE
(咨询特价)深层模型精炼
(咨询特价)选择重构目标
6章大型结构
16.1模屎EVOLVINGORDER
16.2模屎SYSTEMMETAPHOR
16.3模屎RESPONSIBILITYLAYER
16.4模屎KNOWLEDGELEVEL
16.5模屎PLUGGABLECOMPONENTFRAMEWORK
16.6结构应该有一种什么样的约束
16.7通过重构得到 适当的结构
16.7.1小化
16.7.2沟通和自律
16.7.3通过重构得到柔性设计
16.7.4通过精炼可以减轻负担
7章领域驱动设计的综合运用
17.1把大型结构与BOUNDEDCONTEXT结合起来使用
17.2将大型结构与精炼结合起来使用
17.3首先评估
17.4由谁制定策略
17.4.1从应用程序开发自动得出的结构
17.4.2以客户为中心的架构团队
17.5制定战略设计决策的6个要点
17.5.1技术框架同样如此
17.5.2注意总体规划
结束语
附录
术语表
参考文献
图片说明
索引
......