Advertisement

DDD kurz - 5. Persistence + Doctrine

Jan. 16, 2019
Advertisement

More Related Content

Advertisement

DDD kurz - 5. Persistence + Doctrine

  1. Svaťa Šimara Persistence Domain-Driven Design Persistence Domain-Driven Design
  2. Request-Response
  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. Systém běžící v paměti Mentální cvičení
  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. • 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. Persistentní kolekce
  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. Repository
  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. Vrstvy Opakování
  12. Infrastruktura • Kanály • Trubky • Odvoz odpadu • Elektrické sítě • …
  13. Infrastruktura • Zajišťuje životaschopnost • Nechceme se o ni starat • Nahraditelná – Potřebuju lepší dodávku energie, tak změním dodavatele
  14. Vrstva infrastruktury
  15. Vrstva infrastruktury • Implementace doménových rozhraní – Repozitářů! • Nahraditelná • Umožňuje odložit důležitá rozhodnutí – Nebo je změnit
  16. Vrstva infrastruktury • Databáze • Doctrine, mapování • Napojení na externí systémy
  17. Konec Opakování
  18. Zápis persistence
  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. Persistentní middleware • Je zodpovědný za zápis • Vše provádí v transakci
  21. Demo
  22. simara-svatopluk/ddd-course-workshop
  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. Závěrem k DDD
  25. DDD • Doména • Doména • Doména
  26. DDD • Doména • Jazyk • Případy užití • Modelování • Oddělení vrstev
  27. Domain-Driven Design Svaťa Šimara svatasimara.cz simara-svatopluk @svatasimara
  28. Příště
  29. Read Model CQRS
Advertisement