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 - 1. přehled

62 views

Published on

Přehled základních technik DDD

Published in: Technology
  • Be the first to comment

  • Be the first to like this

DDD kurz - 1. přehled

  1. 1. Svaťa Šimara Přehled Domain-Driven Design
  2. 2. DDD • Přístup k vývoji software
  3. 3. DDD • Přístup k vývoji software • Zaměření na problematiku – doménu
  4. 4. DDD • Přístup k vývoji software • Zaměření na problematiku – doménu • Soubor myšlenek, ne návod
  5. 5. DDD • Přístup k vývoji software • Zaměření na problematiku – doménu • Soubor myšlenek, ne návod • Není spojen s frameworkem
  6. 6. DDD • Přístup k vývoji software • Zaměření na problematiku – doménu • Soubor myšlenek, ne návod • Není spojen s frameworkem • Není spojen s programovacím jazykem ani paradigmatem
  7. 7. Ulehčuje život • Pomáhá řešit složité problémy
  8. 8. Ulehčuje život • Pomáhá řešit složité problémy • Udržuje soustředění na důležité
  9. 9. Ulehčuje život • Pomáhá řešit složité problémy • Udržuje soustředění na důležité • Vede k reálnému modelu
  10. 10. Ulehčuje život • Pomáhá řešit složité problémy • Udržuje soustředění na důležité • Vede k reálnému modelu • Zjednodušuje testování
  11. 11. Ulehčuje život • Pomáhá řešit složité problémy • Udržuje soustředění na důležité • Vede k reálnému modelu • Zjednodušuje testování • Zjednodušuje integraci systémů
  12. 12. Principy
  13. 13. Principy Doména
  14. 14. Doména • Oblast
  15. 15. Doména • Oblast • Vlastní terminologie
  16. 16. Doména • Oblast • Vlastní terminologie • Ohraničení
  17. 17. Doména • Oblast • Vlastní terminologie • Ohraničení • Příklady – Účetní – Hokejová
  18. 18. Doménový jazyk Doménový jazyk
  19. 19. Doménový jazyk • Terminologie
  20. 20. Doménový jazyk • Terminologie • Přirozený jazyk
  21. 21. Doménový jazyk • Terminologie • Přirozený jazyk • Příklady – Doklad, faktura – Střela, asistence
  22. 22. Všudypřítomný jazyk • Ubiquitous language • Jazyk všech zúčastněných • Formální verze doménového jazyka • Příklady – Výdejka, dodejka – Zblokovaná střela, střela na branku Všudypřítomný jazyk
  23. 23. Všudypřítomný jazyk • Ubiquitous language
  24. 24. Všudypřítomný jazyk • Ubiquitous language • Jazyk všech zúčastněných – Programátorů, uživatelů, testerů, projekťáků, ...
  25. 25. Všudypřítomný jazyk • Ubiquitous language • Jazyk všech zúčastněných – Programátorů, uživatelů, testerů, projekťáků, … • Jazyk vyskytující se všude – Konverzace, kód, dokumentace
  26. 26. Ohraničený kontext • Bounded context
  27. 27. Ohraničený kontext • Bounded context • Ohraničení, kde má všudypřítomný jazyk smysl
  28. 28. Ohraničený kontext • Bounded context • Ohraničení, kde má všudypřítomný jazyk smysl • Příklady – Účetní oddělení – Eshop, externí IS
  29. 29. Ohraničený kontext Ohraničený kontext
  30. 30. Model • Mentální reprezentace
  31. 31. Model • Mentální reprezentace • Vyjádřený jazykem
  32. 32. Model • Mentální reprezentace • Vyjádřený jazykem • Platný v kontextu
  33. 33. Model • Mentální reprezentace • Vyjádřený jazykem • Platný v kontextu • Lze reprezentovat slovy, diagramy, kódem
  34. 34. Pojďme si zamodelovat
  35. 35. •Cestutící: Pane námořníku, jak daleko je nejbližší země? •Námořník: 3 míle. •Cestující: Kterým směrem? •Námořník: Dolů
  36. 36. Kód • PHP
  37. 37. Kód • PHP • OOP
  38. 38. Kód • PHP • OOP • Entity obsahující logiku
  39. 39. Kód • PHP • OOP • Entity obsahující logiku • Žádný anemický model
  40. 40. Kód • PHP • OOP • Entity obsahující logiku • Žádný anemický model • Snadné testování
  41. 41. Příklad
  42. 42. Testování
  43. 43. Vrstvy • Oddělení doménové vrstvy
  44. 44. Vrstvy • Oddělení doménové vrstvy • Extrakce klíčových problémů
  45. 45. Vrstvy • Oddělení doménové vrstvy • Extrakce klíčových problémů • Doménová vrstva nezávislá na frameworku, databázi, ...
  46. 46. Vrstvy
  47. 47. Jak bude probíhat kurz • Teoretické materiály • Přednášky – zopakování teorie, příklady • Praktické ukázky workshopovým stylem – Já v roli doménového experta – Vy se mě budete dotazovat – Společně budete sestavovat use- case, modelovat, programovat, ...
  48. 48. Domain-Driven Design Svaťa Šimara svatasimara.cz simara-svatopluk @svatasimara

×