ddd-course
ddd-course copied to clipboard
Domain-Driven Design Course. Materials in English. Recorded lectures/workshops + slides in Czech only! All the code:
Domain-Driven Design Course

Domain-Driven Design... A practical approach to software development that focuses on target problematics - the domain. DDD is about thinking, looking at the problem from different angles and also about modeling. It isn’t connected to any framework, technology or a concrete programming language.
The course itself is in Czech (by the way online and free), however supporting materials are at least in English
- Overview
- Language
- Model
- Implementation
- Persistence
Demo
We created useful code examples during the workshop part of the course. You can find it in the ddd-course-workshop repository.
Kurz Domain-Driven Design
Domain-Driven Design... praktický přístup k vývoji software zaměřený na cílovou problematiku - doménu. DDD je o přemýšlení, náhledu a modelování, není spojený s žádným frameworkem, a vlastně ani žádnou technologií či konkrétním programovacím jazykem.
Cíle
- Jak přemýšlet nad problémy libovolné složitosti
- Jak je modelovat
- Na co se zaměřit a co zanedbat
- Jak psát kvalitní, udržovatelný a otestovaný kód
Forma
- Záznamy + Materiály + Kód
- Zdarma
Přednášky
- Přehled - materiály (en) - slidy - záznam Brno - záznam Ostrava - Ostrava 12.9. - Brno 3.10.
- Jazyk - materiály (en) - slidy - záznam Brno - workshop - Ostrava 10.10. - Brno 24.10.
- Model - materiály (en) - slidy - záznam Brno - workshop - Ostrava 7.11. - Brno 21.11.
- Implementace - materiály (en) - demo - slidy - záznam Brno - Brno 19.12.
- Persistence - Repozitáře + Doctrine - materiály (en) - demo - slidy - záznam Brno - Brno 16.1.
- Read model & CQRS - slidy - záznam Brno - Brno 13.2.
Demo
Veškerý kód z dem a workshopů naleznete v repozitáři ddd-course-workshop.
Probraná témata
- ✓ Přehled - přehled základních konceptů
- ✓ Jazyk - pár příkladů a pár doporučení jak přemýšlet v daném jazyce
- ✓ Model - jak přemýšlet jinak než v tabulkách, zjednodušení modelu (agregáty, entity, value objekty)
- ✓ Implementace - kód, testování, TDD
- ✓ Repozitáře - kde brát objekty, memory implementace
- ✓ SQL/Doctrine Repozitáře - Persistence, už skoro funkční aplikace
- ✓ Read model - Jak nad ním přemýšlet, více modelů v jedné aplikaci
- ✓ Read model SQL Repozitář - kde brát DTO v reálné aplikaci
- ✓ Commandy - Oddělení části aplikace měnící stav
Cílová skupina
- Programátoři
- Projekťáci
- UXáci
- Testeři
Ano, DDD není jenom pro programátory, je pro celou IT sféru, a možná zasahuje i dále. Nelze totiž modelovat případy užití pokud má projekťák všechno jako tabulku. Musíme být všichni naladěni podobně.
Další materiály
- EVANS, Eric. Domain-driven design: tackling complexity in the heart of software. Boston: Addison-Wesley, 2004. ISBN 0-321-12521-5. kniha na Amazonu
- FOWLER, Martin. UbiquitousLanguage. MartinFowler.com [online]. 2006 [2017-11-28]. Available: https://martinfowler.com/bliki/UbiquitousLanguage.html
- VERNON, Vaughn. Implementing domain-driven design. Upper Saddle River, NJ: Addision-Wesley, 2013. ISBN 978-0-321-83457-7. kniha na Amazonu
- CLEMSON, Toby. Testing Strategies in a Microservice Architecture [online]. 2014 [2018-01-11]. Available: https://martinfowler.com/articles/microservice-testing/
- Sbírka materiálů od Honzy Kuchaře: https://gitlab.grifart.cz/jkuchar1/eventsourcing-cqrs-simple-app/tree/master