Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

DDD kurz - 5. Persistence + Doctrine

33 views

Published on

Dozvíte se, jak ukládat a číst doménové objekty. Po této přednášce budete již znát veškeré stavební kameny pro tvorbu systému založených na DDD. Persistenci si vyzkoušíte za pomocí Doctrine.

Tento díl kurzu je vhodný i pro všechny, kteří o DDD moc neví ani nebyli na předchozích dílech, protože se budeme bavit obecně o architektuře persistence. V rámci přednášky si objasníme:

➡️ jak dosáhnout iluze systému, který běží celý v paměti
➡️ koncept repozitářů
➡️ zopakujeme benefit rozdělení vrstev

Po přednášce bude následovat demo, v rámci kterého si představíme :

➡️ repozitáře a jejich testování
➡️ persistenci pomocí Doctrine

Published in: Technology
  • Be the first to comment

  • Be the first to like this

DDD kurz - 5. Persistence + Doctrine

  1. 1. Svaťa Šimara Persistence Domain-Driven Design Persistence Domain-Driven Design
  2. 2. Request-Response
  3. 3. Problémy • Smíchaná logika a persistence • Obtížné na pochopení – Hlavně pokud potřebujeme více doménových objektů • Obtížné testování
  4. 4. Systém běžící v paměti Mentální cvičení
  5. 5. Systém v paměti • Systém se nevypíná • Paměť je mezi requesty zachována • Neobsluhuje více requestů najednou • Mění svůj stav
  6. 6. • Obsahuje pouze logiku • Snadnější na pochopení – Nestaráme se o ukládání • Kolekce jsou součástí logiky • Snadné testování • Žádná save() operace Systém v paměti
  7. 7. Persistentní kolekce
  8. 8. • Iluze systému běžícího v paměti – Zachovává výhody • Umožňuje persistenci – Neříkáme jak je zařízena Persistentní kolekce
  9. 9. Repository
  10. 10. • Persistentní kolekce • Iluze systému v paměti • Doménové rozhraní – Doménový prvek • Metody jako kolekce v paměti – get(), remove(), add() • Pouze pro agregáty Repository
  11. 11. Vrstvy Opakování
  12. 12. Infrastruktura • Kanály • Trubky • Odvoz odpadu • Elektrické sítě • …
  13. 13. Infrastruktura • Zajišťuje životaschopnost • Nechceme se o ni starat • Nahraditelná – Potřebuju lepší dodávku energie, tak změním dodavatele
  14. 14. Vrstva infrastruktury
  15. 15. Vrstva infrastruktury • Implementace doménových rozhraní – Repozitářů! • Nahraditelná • Umožňuje odložit důležitá rozhodnutí – Nebo je změnit
  16. 16. Vrstva infrastruktury • Databáze • Doctrine, mapování • Napojení na externí systémy
  17. 17. Konec Opakování
  18. 18. Zápis persistence
  19. 19. Zápis persistence • Chybí nám operace zápisu • Repozitáře nejsou zodpovědné za samotný zápis – Jsou to kolekce • Za zápis je zodpovědný někdo jiný
  20. 20. Persistentní middleware • Je zodpovědný za zápis • Vše provádí v transakci
  21. 21. Demo
  22. 22. simara-svatopluk/ddd-course-workshop
  23. 23. Doctrine • Umí toho hodně • Přemýšlejte nad use-casy – Vše nemusí být entity – JSON je ok – CO od dat chcete • Super nástroj při vhodném použití • Viděli jste ne úplně běžné použití
  24. 24. Závěrem k DDD
  25. 25. DDD • Doména • Doména • Doména
  26. 26. DDD • Doména • Jazyk • Případy užití • Modelování • Oddělení vrstev
  27. 27. Domain-Driven Design Svaťa Šimara svatasimara.cz simara-svatopluk @svatasimara
  28. 28. Příště
  29. 29. Read Model CQRS

×