实现领域驱动设计

实现领域驱动设计

作者:[美] Vaughn Vernon

出版社:电子工业

出版年:2014年3月

ISBN:9787121224485

所属分类:网络科技

书刊介绍

《实现领域驱动设计》内容简介

领域驱动设计(DDD)是教我们如何做好软件的,同时也是教我们如何更好地使用面向对象技术的。它为我们提供了设计软件的全新视角,同时也给开发者留下了一大难题:如何将领域驱动设计付诸实践?Vaughn Vernon的这本《实现领域驱动设计》为我们给出了全面的解答。
本书分别从战略和战术层面详尽地讨论了如何实现DDD,其中包含了大量的最佳实践、设计准则和对一些问题的折中性讨论。本书共分为14章,在DDD战略部分,本书向我们讲解了领域、限界上下文、上下文映射图和架构等内容,战术部分包括实体、值对象、领域服务、领域事件、聚合和资源库等内容。一个虚构的案例研究贯穿全书,这对于实例讲解DDD实现来说非常有用。
本书在DDD的思想和实现之间建立起了一座桥梁,架构师和程序员均可阅读,同时也可以作为一本DDD参考书。
Vaughn Vernon是一个经验丰富的软件工匠,在软件设计、开发和架构方面拥有超过25年的从业经验。他提倡通过创新来简化软件的设计和实现。从20世纪80年代开始,他便开始使用面向对象语言进行编程;在20世纪90年代早期,他便在领域建模中应用了领域驱动设计,那时他使用的是Smalltalk语言。他在很多业务领域都有从业经验,包括航空、环境、地理、保险、医学和电信等领域。同时,Vaughn在技术上也取得了很大的成功,包括开发可重用的框架和类库等。他在全球范围之内提供软件咨询和演讲,此外,他还在许多国家教授《实现领域驱动设计》的课程。你可以通过www.VaughnVernon.co访问到他的最新研究成果。

作品目录

内容简介
译者序
本书赞誉

前言
致谢
关于作者
如何使用本书
第1章:DDD入门
我能DDD吗?
为什么我们需要DDD
如何DDD
使用DDD的业务价值
实施DDD所面临的挑战
虚构的案例,真实的实践
本章小结
第2章:领域、子域和限界上下文
总览
战略设计为什么重要
现实世界中领域和子域
理解限界上下文
示例上下文
本章小结
第3章:上下文映射图
上下文映射图为什么重要
本章小结
第4章:架构
采访一个成功的CIO
分层
六边形架构(端口与适配器)
面向服务架构
REST
命令和查询职责分离——CQRS
事件驱动架构
数据网织和基于网格的分布式计算
本章小结
第5章:实体
为什么使用实体
唯一标识
发现实体及其本质特征
本章小结
第6章:值对象
值对象的特征
最小化集成
用值对象表示标准类型
测试值对象
实现
持久化值对象
本章小结
第7章:领域服务
什么是领域服务(首先,什么不是领域服务)
请确定你是否需要一个领域服务
建模领域服务
测试领域服务
本章小结
第8章:领域事件
何时/为什么使用领域事件
建模领域事件
从领域模型中发布领域事件
向远程限界上下文发布领域事件
事件存储
转发存储事件的架构风格
实现
本章小结
第9章:模块
通过模块完成设计
模块的基本命名规范
领域模型的命名规范
敏捷项目管理上下文中的模块
先考虑模块,再是限界上下文
本章小结
第10章:聚合
在Scrum核心领域中使用聚合
原则:在一致性边界之内建模真正的不变条件
原则:设计小聚合
原则:通过唯一标识引用其他聚合
原则:在边界之外使用最终一致性
打破原则的理由
通过发现,深入理解
实现
本章小结
第11章:工厂
领域模型中的工厂
聚合根中的工厂方法
领域服务中的工厂
本章小结
第12章:资源库
面向集合资源库
面向持久化资源库
额外的行为
管理事务
类型层级
资源库
vs
数据访问对象(DAO)
测试资源库
本章小结
第13章:集成限界上下文
集成基础知识
通过REST资源集成限界上下文
通过消息集成限界上下文
本章小结
第14章:应用程序
用户界面
应用服务
组合多个限界上下文
基础设施
企业组件容器
本章小结
附录A
聚合与事件源:A+ES
应用服务内部
命令处理器
Lambda语法
并发控制
A+ES所带来的结构自由性
性能
实现事件存储
关系型持久化
BLOB持久化
专注的聚合
与聚合设计一道使用
增强事件
工具和模式
协议生成
单元测试和需求规范
事件源和函数式语言
参考文献

相关推荐

微信二维码