Skip to Content
学习领域驱动设计
book

学习领域驱动设计

by Vlad Khononov
May 2025
Beginner to intermediate
342 pages
3h 39m
Chinese
O'Reilly Media, Inc.
Content preview from 学习领域驱动设计

前言

领域驱动设计(DDD)提供了一套实践方法, ,从业务的角度,也就是你所针对的领域及其问题出发,以协作的方式来构建软件。 最初由 Eric Evans 于 2003 年提出,并在 DDD 社区中被亲切地称为 "蓝皮书"。这本书的书名是《领域驱动设计》(Domain-Driven Design):解决软件核心的复杂性问题》。

领域驱动设计的目标是解决复杂性问题并提供一条通向清晰的道路,但有许多伟大的想法可以应用于不太复杂的软件项目。领域驱动设计提醒我们,软件开发人员并不是参与软件构建的唯一人员。为其构建软件的领域专家对所要解决的问题有着至关重要的理解。我们首先运用 "战略设计 "来理解业务问题,也就是领域问题,然后将问题分解成更小的、可解决的、相互关联的问题,从而在整个创建阶段建立合作伙伴关系。与领域专家的合作关系也促使我们使用领域语言进行交流,而不是强迫业务人员学习软件技术语言。

基于设计驱动发展(DDD)的项目的第二阶段是 "战术设计",,在这一阶段,我们将战略设计的发现转化为软件架构和实施。同样,DDD 为组织这些领域和避免进一步的复杂性提供了指导和模式。战术设计延续了与领域专家的合作关系,他们即使在查看软件团队构建的代码时,也能识别出自己的领域语言。

自 "蓝皮书 "出版以来,不仅许多组织从这些理念中受益,经验丰富的 DDD 实践者群体也在不断发展壮大。DDD 的协作性质使得这个社区能够分享他们的经验和观点,并创建工具来帮助团队接受这些理念并从中受益。在 2019 年的 "探索 DDD "主题演讲中,埃里克-埃文斯鼓励社区继续发展 DDD--不仅是其实践,还要找到更有效地分享其想法的方法。

这也让我想到了我为何如此喜爱 "学习领域驱动设计"(Learning Domain-Driven Design)。通过 Vlad 的会议演讲和其他著作,我已经是他的粉丝了。作为一名领域驱动设计实践者,他在一些非常复杂的项目中积累了大量来之不易的经验,并慷慨地分享了这些知识。在本书中,他以独特的方式讲述了 DDD 的 "故事"(不是其历史,而是其概念),为读者提供了一个很好的学习视角。本书面向新手,但作为一名长期从事 DDD 工作并撰写和讲述 DDD 的实践者,我发现我从他的观点中学到了很多东西。在本书出版之前,我就迫不及待地在 Pluralsight 上的 DDD 基础课程中参考了他的书,并在与客户的交谈中分享了其中的一些观点。

DDD 入门可能令人困惑。正如我们使用 DDD 来降低项目的复杂性一样,Vlad 介绍 DDD 的方式也降低了该主题本身的复杂性。他所做的不仅仅是解释 DDD 的原理。本书的后半部分分享了从领域驱动设计发展而来的一些重要实践,如事件风暴(EventStorming),讨论了业务重点或组织的演变问题以及这可能对软件产生的影响,还讨论了领域驱动设计如何与微服务相匹配,以及如何将其与一系列著名的软件模式相集成。我认为,《学习领域驱动设计》将是新手了解领域驱动设计的绝佳入门读物,也是经验丰富的从业人员值得一读的好书。

Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.

Read now

Unlock full access

More than 5,000 organizations count on O’Reilly

AirBnbBlueOriginElectronic ArtsHomeDepotNasdaqRakutenTata Consultancy Services

QuotationMarkO’Reilly covers everything we've got, with content to help us build a world-class technology community, upgrade the capabilities and competencies of our teams, and improve overall team performance as well as their engagement.
Julian F.
Head of Cybersecurity
QuotationMarkI wanted to learn C and C++, but it didn't click for me until I picked up an O'Reilly book. When I went on the O’Reilly platform, I was astonished to find all the books there, plus live events and sandboxes so you could play around with the technology.
Addison B.
Field Engineer
QuotationMarkI’ve been on the O’Reilly platform for more than eight years. I use a couple of learning platforms, but I'm on O'Reilly more than anybody else. When you're there, you start learning. I'm never disappointed.
Amir M.
Data Platform Tech Lead
QuotationMarkI'm always learning. So when I got on to O'Reilly, I was like a kid in a candy store. There are playlists. There are answers. There's on-demand training. It's worth its weight in gold, in terms of what it allows me to do.
Mark W.
Embedded Software Engineer

You might also like

设计机器学习系统

设计机器学习系统

Chip Huyen
生成式人工智能设计模式

生成式人工智能设计模式

Valliappa Lakshmanan, Hannes Hapke

Publisher Resources

ISBN: 9798341656697