实现领域驱动设计

实现领域驱动设计

查阅电子书
手机扫码
  • 微信扫一扫

    关注微信公众号

因版权原因待上架

编辑推荐

涵盖领域驱动设计各个方面,大量示例代码,案例研究贯穿全书,一部程序员进阶佳作。

内容简介

领域驱动设计(DDD)是教我们如何做好软件的,同时也是教我们如何更好地使用面向对象技术的。它为我们提供了设计软件的全新视角,同时也给开发者留下了一大难题:如何将领域驱动设计付诸实践?Vaughn Vernon的这本《实现领域驱动设计》为我们给出了全面的解答。

《实现领域驱动设计》分别从战略和战术层面详尽地讨论了如何实现DDD,其中包含了大量的最佳实践、设计准则和对一些问题的折中性讨论。

本书共分为14章,在DDD战略部分,向我们讲解了领域、限界上下文、上下文映射图和架构等内容,战术部分包括实体、值对象、领域服务、领域事件、聚合和资源库等内容。一个虚构的案例研究贯穿全书,这对于实例讲解DDD实现来说非常有用。

《实现领域驱动设计》在DDD的思想和实现之间建立起了一座桥梁,架构师和程序员均可阅读,同时也可以作为一本DDD参考书。

作者简介

作者Vaughn Vernon,一个经验丰富的软件工匠,在软件设计、开发和架构方面拥有超过25年的从业经验。他提倡通过创新来简化软件的设计和实现。从20世纪80年代开始,他便开始使用面向对象语言进行编程;在20世纪90年代早期,他便在领域建模中应用了领域驱动设计,那时他使用的是Smalltalk语言。他在很多业务领域都有从业经验,包括航空、环境、地理、保险、医学和电信等领域。同时,Vaughn在技术上也取得了很大的成功,包括开发可重用的框架和类库等。他在全球范围之内提供软件咨询和演讲,此外,他还在许多国家教授《实现领域驱动设计》的课程。

章节目录

版权信息

内容简介

译者序

本书赞誉

前言

起飞,着陆

着陆于领域驱动设计

对照地形,绘制飞行图

各章概要

Java和开发工具

致谢

关于作者

如何使用本书

DDD总览

第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持久化

专注的聚合

读模型投射

与聚合设计一道使用

增强事件

工具和模式

协议生成

单元测试和需求规范

事件源和函数式语言

参考文献

实现领域驱动设计是2014年由电子工业出版社出版,作者[美]VaughnVernon。

得书感谢您对《实现领域驱动设计》关注和支持,如本书内容有不良信息或侵权等情形的,请联系本网站。

购买这本书

你可能喜欢
代码整洁之道 电子书
“阅读这本书有两种原因:第一,你是个程序员;第二,你想成为更好的程序员。很好,IT行业需要更好的程序员!”——罗伯特·C. 马丁(Robert C. Martin) 尽管糟糕的代码也能运行,但如果代码不整洁,会使整个开发团队泥足深陷,写得不好的代码每年都要耗费难以计数的时间和资源。但是,这种情况并非无法避免。 著名软件专家罗伯特·C. 马丁(Robert C. Martin) 在本书中为你呈现了革命性的视野。他携同Object Mentor公司的同事,从他们有关整洁代码的佳敏捷实践中提炼出软件技艺的价值观,以飨读者,让你成为更优秀的程序员——只要你着手研读本书。 阅读本书需要你做些什么呢?你将阅读代码——大量代码。本书会促使你思考何谓正确的代码,何谓错误的代码。更重要的是,本书将促使你重新评估自己的专业价值观,以及对自己技艺的承诺。 书中的具体内容包括: ·好代码和糟糕的代码之间的区别; ·如何编写好代码,如何将糟糕的代码转化为好代码; ·如何创建好名称、好函数、好对象和好类; ·如何格式化代码以实现其可读性的大化; ·如何在不妨碍代码逻辑的前提下充分实现错误处理; ·如何进行单元测试和测试驱动开发。
学Python,不加班——轻松实现办公自动化 电子书
1.深挖国内职场人群痛点,利用Python实现办公自动化。 2.结合实际案例讲解编程和数据库知识,让读者快速理解掌握。 3.完整行业案例全流程讲解,全方位解读Python在自动化办公中的作用。 4.附赠案例源代码、数据文件、在线视频、练习题及答案,方便举一反三。
PythonQtGUI与数据可视化编程 电子书
Python PyQt5编写GUI应用程序及数据可视化方法
Python数据分析与应用 电子书
本书采用了以任务为导向的教学模式,按照解决实际任务的工作流程路线,逐步展开介绍相关的理论知识点,推导生成可行的解决方案, 后落实在任务实现环节。 全书大部分章节紧扣任务需求展开,不堆积知识点,着重于解决问题时思路的启发与方案的实施。通过从任务需求到实现这一完整工作流程的体验,帮助读者真正理解与消化Python数据分析与应用。 书中案例全部源于企业真实项目,可操作性强,引导读者融会贯通,并提供源代码等相关学习资源,帮助读者快速掌握大数据相关技能。
Python高手修炼之道:数据处理与机器学习实战 电子书
适读人群 :1.没有编程知识的新手 不同于一般的基础语法讲解教程,本书并未将Python 开发限定于某个集成开发工具(IDE)中,而是采用交互式编程的方式来强化读者对语言特性的理解,帮助新手读者真正理解Python 语言和Python 编程。2.从未接触过Python 语言,但了解一点编程知识的初学者 本书通过对基础知识高度的提炼和概括,以避免初学者陷入低级且冗长的细节知识点而心生懈怠;同时,本书为初学者规划了从初级到高级的编程技能提升路线图。3.具有一定基础的Python 程序员 本书可以作为案头工具书来使用。本书从基础语法、基本技能讲起,涵盖了科学计算、数据处理、机器学习等领域,示例代码涉及30 余个模块的使用。 构建从Python入门到数据分析到机器学习的路线图,入门有章可循; 1.讲解独到,常见盲点趣解析 作者基于多年的经验积累,善于总结概括初学Python过程中的误区。 2.内容全面,常用工具全涵盖 书中介绍的Python工具包覆盖Numpy、Matplotlib、Pandas、SciPy、Scikit-Learn,方便读者拓展实用技能、掌握工作利器。 3.拓展训练,重点知识有强化 语感训练100题、Python内置函数(类)手册、从新手到高手的100个模块,强化知识点的掌握。 4.代码完整,随时动手可复现 本书提供了完整、可验证的代码,方便读者动手练习并强化理解。