Domain-Driven Design v Symfony 8: o čem je kurz
Videokurz podle knihy DDD v Symfony: od hranic kontextů a Event Stormingu přes agregáty a události až po CQRS, Event Sourcing, testy a migraci z CRUD. Pro koho je, na čem stojí a kde začít.
Přehrávač YouTube se načte až po kliknutí · otevřít na YouTube (nové okno) ↗
Přepis dílu komentář tak, jak zazní ve videu
Úvod
OrderService na patnáct set řádků. Každá změna v něm rozbije něco jinde.
Kniha Erica Evanse o DDD má přes pět set stran. A ani řádek PHP.
Co se v kurzu naučíte
Nejdřív strategie. Context Map ukáže, kde končí jeden model a kdo komu diktuje.
Event Storming dostane doménu z hlav lidí na stěnu. I s místy, kde si nikdo není jistý.
Kód zvenčí nemění objednávku setterem. Volá metody agregátu a ty hlídají jeho pravidla.
Událost OrderPlaced se zaznamená uvnitř agregátu. Na event bus odejde až po uložení.
Dva souběžné požadavky na stejnou objednávku? Projde jen jeden. Druhý narazí na optimistický zámek.
CQRS, Event Sourcing, ságy a outbox. Včetně toho, kdy se nevyplatí.
Pak testy a přechod z CRUD aplikace na DDD po malých krocích, bez zastavení vývoje.
Pro koho kurz je
Ukázky cílí na PHP 8.4, Symfony 8, Doctrine ORM 3 a Messenger.
Počítá se s praxí v PHP a Symfony. Zkušenost s DDD mít nemusíte.
Úvod do Symfony to není. Ukázky ilustrují vzor a vlastní doméně se musí přizpůsobit.
Struktura kurzu
Díly jdou po kapitolách knihy, od nuly do dvaceti čtyř, v osmi částech.
Strategie je záměrně před taktikou. Evans v roce 2009 řekl, že stavební bloky jsou přeceňované.
A jeden díl je celý o tom, kdy DDD nepoužívat.
Text knihy je zdarma na webu a ukázky kódu na GitHubu. Začněte dílem jedna. Po něm budete vědět, jestli pokračovat.