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…

Что это?Подборка ресурсов по Domain-Driven Design (DDD), CQRS, Event Sourcing и Event Storming: книги, бесплатные электронные книги, учебные курсы, видеоподборки, примеры проектов, библиотеки и фреймворки, подкасты, конференции и инструменты.
Это учебник или список других ресурсов?Это awesome-list: список внешних ресурсов (книг, курсов, видео, примеров проектов, библиотек), разложенных по категориям, а не собственные учебные материалы.
Как устроен список?Он разделён на разделы: Книги, Бесплатные электронные книги, Учебные курсы, Видеоподборки, Ресурсы сообщества, Примеры проектов (по языкам: Go, .NET, Haskell, JVM, JS/TS, PHP), Библиотеки и фреймворки, Подкасты, Конференции, Группы пользователей и Инструменты.
С чего новичку начать?README выделяет каноническую «Blue Book» (Domain-Driven Design: Tackling the Complexity at the Heart of Software) и Domain-Driven Design Distilled как хорошие отправные точки перед более подробными текстами, например Implementing Domain-Driven Design.
Записи проверены или это просто ссылки?Каждая запись — это короткое описание, а не глубокий обзор, поэтому качество зависит от внешнего ресурса по ссылке. Сам список содержимое не тестирует и не оценивает, кроме краткого пересказа.
Для кого этот список?Для разработчиков и архитекторов, которые хотят изучить или глубже понять DDD, CQRS, Event Sourcing и Event Storming в разных языках и экосистемах (.NET, JVM, Go, PHP, JS/TS, Ruby, Python, Elixir).
Что такое Domain-Driven Design по версии списка?DDD — это подход к разработке ПО, который фокусируется на основной предметной области, строит сложные модели вокруг этой области и поощряет совместную работу технических специалистов и экспертов предметной области над уточнением общей концептуальной модели.
Что такое CQRS в описании списка?CQRS — это разделение объекта на два: командный объект (методы, которые меняют состояние) и объект запросов (методы, которые возвращают значения). Основа — принцип Command-Query Separation.
Что такое Event Storming?Event Storming — это формат воркшопа для быстрого изучения сложных бизнес-областей, придуманный Альберто Брандолини. В списке приведены отдельные курсы и подборки докладов по нему.
Есть ли в списке практические примеры проектов?Да, там есть ссылки на примеры проектов по DDD, CQRS и Event Sourcing, сгруппированные по языкам и экосистемам: 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