awesome-ddd README

The project's README from github.com/heynickc/awesome-ddd. As one markdown file: README.md.

Awesome Domain-Driven Design Awesome

A curated list of Domain-Driven Design (DDD), Command Query Responsibility Segregation (CQRS), Event Sourcing, and Event Storming resources.

Check out my blog and weekly DDD newsletter or say hi on Twitter!

Domain-Driven Design (DDD) is an approach to software development for complex needs by connecting the implementation to an evolving model. The premise of Domain-Driven Design is the following:

The term was coined by Eric Evans in his book of the same title.

Command Query Responsibility Segregation (CQRS) is simply the creation of two objects where there was previously only one. The separation occurs based upon whether the methods are a command or a query (the same definition that is used by Meyer in Command and Query Separation, a command is any method that mutates state and a query is any method that returns a value).

Event Sourcing the fundamental idea of Event Sourcing is that of ensuring every change to the state of an application is captured in an event object, and that these event objects are themselves stored in the sequence they were applied for the same lifetime as the application state itself.

Event Storming is a workshop format for quickly exploring complex business domains.

Contents

Books

Free eBooks

Training Courses

Video Collections

Community Resources

Blogs

Sample Projects

GO

.NET (C#/F#)

Haskell

Idris

JavaScript / TypeScript

JVM languages

PHP

Libraries and Frameworks

GO

.NET

Databases

Elixir

JavaScript / TypeScript

JVM

PHP

Python

Ruby

Podcasts and Interviews

Conferences

User Groups

Tools

License

CC0

To the extent possible under law, Nick Chamberlain has waived all copyright and related or neighboring rights to this work.

awesome-ddd (heynickc/awesome-ddd)

Searching Database…

这是什么?这是一份精选资源列表,涵盖领域驱动设计(DDD)、CQRS、事件溯源(Event Sourcing)和事件风暴(Event Storming),包括书籍、免费电子书、培训课程、视频合集、示例项目、库与框架、播客、会议和工具。
这是教程,还是其他资源的索引?这是一个 awesome 列表:它索引的是外部资源(书籍、课程、视频、示例项目、库),并按类别整理,本身并不是原创的教学内容。
这份列表是怎么组织的?它分为多个部分,例如书籍、免费电子书、培训课程、视频合集、社区资源、示例项目(按语言分:Go、.NET、Haskell、JVM、JS/TS、PHP)、库和框架、播客、会议、用户组和工具。
初学者应该从哪里开始?README 推荐把经典的“蓝皮书”(Domain-Driven Design: Tackling the Complexity at the Heart of Software)和 Domain-Driven Design Distilled 作为入门读物,之后再阅读 Implementing Domain-Driven Design 等更详细的书。
这些条目经过审核,还是只是链接?每个条目只是简短的精选介绍,而不是深入评测,因此质量取决于所链接的外部资源;列表本身除了简要概括外,并不测试或评价内容。
这份列表适合谁?适合想学习或加深理解 DDD、CQRS、事件溯源和事件风暴的开发者与架构师,涵盖多种语言和生态(.NET、JVM、Go、PHP、JS/TS、Ruby、Python、Elixir)。
根据这份列表,领域驱动设计到底是什么?DDD 是一种软件开发方法,它聚焦于核心领域,围绕该领域构建复杂的设计模型,并促进技术人员与领域专家协作,以不断完善共享的概念模型。
这里所说的 CQRS 是什么?CQRS 基于命令查询分离原则,把一个对象拆分为两个:命令对象(用于修改状态的方法)和查询对象(用于返回值的方法)。
什么是事件风暴?事件风暴是一种快速探索复杂业务领域的工作坊形式,由 Alberto Brandolini 开创,列表中链接了相关课程和演讲合集。
这份列表包含实用的示例项目吗?包含。它链接了按语言和生态分类的 DDD、CQRS 和事件溯源示例项目,涵盖 Go、.NET(C#/F#)、Haskell、Idris、JavaScript/TypeScript、JVM 语言和 PHP。
Creator
heynickc
Size
0.7 MB
Stars
12.4K
Updated
CommitAug 26
Age
10y
Commits · 90 Days