DDD kurz - 1. přehled

Svaťa
Šimara
Přehled
Domain-Driven Design
DDD
• Přístup k vývoji software
DDD
• Přístup k vývoji software
• Zaměření na problematiku –
doménu
DDD
• Přístup k vývoji software
• Zaměření na problematiku –
doménu
• Soubor myšlenek, ne návod
DDD
• Přístup k vývoji software
• Zaměření na problematiku –
doménu
• Soubor myšlenek, ne návod
• Není spojen s frameworkem
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
Ulehčuje život
• Pomáhá řešit složité problémy
Ulehčuje život
• Pomáhá řešit složité problémy
• Udržuje soustředění na důležité
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
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í
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ů
Principy
Principy
Doména
Doména
• Oblast
Doména
• Oblast
• Vlastní terminologie
Doména
• Oblast
• Vlastní terminologie
• Ohraničení
Doména
• Oblast
• Vlastní terminologie
• Ohraničení
• Příklady
– Účetní
– Hokejová
Doménový
jazyk
Doménový
jazyk
Doménový
jazyk
• Terminologie
Doménový
jazyk
• Terminologie
• Přirozený jazyk
Doménový
jazyk
• Terminologie
• Přirozený jazyk
• Příklady
– Doklad, faktura
– Střela, asistence
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
Všudypřítomný
jazyk
• Ubiquitous language
Všudypřítomný
jazyk
• Ubiquitous language
• Jazyk všech zúčastněných
– Programátorů, uživatelů,
testerů, projekťáků, ...
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
Ohraničený
kontext
• Bounded context
Ohraničený
kontext
• Bounded context
• Ohraničení, kde má
všudypřítomný jazyk smysl
Ohraničený
kontext
• Bounded context
• Ohraničení, kde má
všudypřítomný jazyk smysl
• Příklady
– Účetní oddělení
– Eshop, externí IS
Ohraničený
kontext
Ohraničený
kontext
Model
• Mentální reprezentace
Model
• Mentální reprezentace
• Vyjádřený jazykem
Model
• Mentální reprezentace
• Vyjádřený jazykem
• Platný v kontextu
Model
• Mentální reprezentace
• Vyjádřený jazykem
• Platný v kontextu
• Lze reprezentovat slovy,
diagramy, kódem
Pojďme si
zamodelovat
•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ů
Kód
• PHP
Kód
• PHP
• OOP
Kód
• PHP
• OOP
• Entity obsahující logiku
Kód
• PHP
• OOP
• Entity obsahující logiku
• Žádný anemický model
Kód
• PHP
• OOP
• Entity obsahující logiku
• Žádný anemický model
• Snadné testování
Příklad
Testování
Vrstvy
• Oddělení doménové vrstvy
Vrstvy
• Oddělení doménové vrstvy
• Extrakce klíčových problémů
Vrstvy
• Oddělení doménové vrstvy
• Extrakce klíčových problémů
• Doménová vrstva nezávislá na
frameworku, databázi, ...
Vrstvy
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, ...
Domain-Driven
Design Svaťa Šimara
svatasimara.cz
simara-svatopluk
@svatasimara
1 of 48

Recommended

DDD kurz - 2. jazyk by
DDD kurz - 2. jazykDDD kurz - 2. jazyk
DDD kurz - 2. jazykSvatopluk Šimara
89 views25 slides
Dotykova zarizeni ve vyuce informatiky by
Dotykova zarizeni ve vyuce informatikyDotykova zarizeni ve vyuce informatiky
Dotykova zarizeni ve vyuce informatikyINTERES - KISK
310 views19 slides
On-line nástroje pro plánování, projektový management a time management + sof... by
On-line nástroje pro plánování, projektový management a time management + sof...On-line nástroje pro plánování, projektový management a time management + sof...
On-line nástroje pro plánování, projektový management a time management + sof...Allix
1.4K views34 slides
Vysokoskolska pedagogika tablety by
Vysokoskolska pedagogika tabletyVysokoskolska pedagogika tablety
Vysokoskolska pedagogika tabletyMichal Černý
366 views40 slides
Dotykova zarizeni ve vyuce ceskeho jazyka a literatury na 2. stupni ZS by
Dotykova zarizeni ve vyuce ceskeho jazyka a literatury na 2. stupni ZSDotykova zarizeni ve vyuce ceskeho jazyka a literatury na 2. stupni ZS
Dotykova zarizeni ve vyuce ceskeho jazyka a literatury na 2. stupni ZSINTERES - KISK
366 views15 slides
Zkušenosti s generováním reportů by
Zkušenosti s generováním reportůZkušenosti s generováním reportů
Zkušenosti s generováním reportůSlávek Rydval
757 views34 slides

More Related Content

More from Svatopluk Šimara

Focus on the essece with Domain-Driven Design by
Focus on the essece with Domain-Driven DesignFocus on the essece with Domain-Driven Design
Focus on the essece with Domain-Driven DesignSvatopluk Šimara
387 views91 slides
DDD + Doctrine by
DDD + DoctrineDDD + Doctrine
DDD + DoctrineSvatopluk Šimara
196 views24 slides
Read model & CQRS by
Read model & CQRSRead model & CQRS
Read model & CQRSSvatopluk Šimara
371 views64 slides
DDD kurz - 5. Persistence + Doctrine by
DDD kurz - 5. Persistence + DoctrineDDD kurz - 5. Persistence + Doctrine
DDD kurz - 5. Persistence + DoctrineSvatopluk Šimara
182 views36 slides
DDD kurz - 4. Implementace by
DDD kurz - 4. ImplementaceDDD kurz - 4. Implementace
DDD kurz - 4. ImplementaceSvatopluk Šimara
159 views31 slides
DDD kurz - 3. model by
DDD kurz - 3. modelDDD kurz - 3. model
DDD kurz - 3. modelSvatopluk Šimara
131 views26 slides

More from Svatopluk Šimara(8)

DDD kurz - 1. přehled