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
We created useful code examples during the workshop part of the course. You can find it in the ddd-course-workshop repository.
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.
- 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
- Záznamy + Materiály + Kód
- Zdarma
- 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.
Veškerý kód z dem a workshopů naleznete v repozitáři ddd-course-workshop.
- ✓ 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
- 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ě.
- 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