Domain Driven Design

V oblasti technologií je vždy důležité uvědomit si kontext problému, který je třeba vyřešit. Tento krok je však často opomíjen. Proces hledání řešení se stává ještě složitějším, když se jej snažíme řešit nad rámec pouhého programátorského kontextu. Jakmile začneme uvažovat o dalších týmech a více krocích, je obtížnější plně pochopit problém a udržet si souvislosti. Tehdy přichází na pomoc Domain-driven design (dále jen DDD).

DDD je metodika vývoje softwaru, která se zaměřuje na vývoj doménového modelu, který obsahuje informace o znalosti procesů a určuje pravidla domény. Tento přístup vhodný pro rozsáhlé informační systémy, kde je třeba vypořádat se s komplexní logikou daný samotnou organizací nebo podnikem, pro kterou je software vyvýjen. Vhodný je taky pro dlouhodobé projekty, kde se často obmněňuje tým lidí. Je to užitečné pro dlouhodobé projekty, protože vede ke kvalitnějšímu softwaru, který lépe slouží uživatelům.

Domain-Driven Design je o • Porozumění doméně • Diskuse s doménovými experty • Hledání případů použití a chování • Modelování

DDD není spojený s žádným programovacím jazykem, framworkem ani paradigmatem ve kterém se produkt vyvyjí. Zaměřuje se především na doménu, model a odděluje jen od dalších vrstev.

Metodika pochází od Erica Evanse, který v 2003 vydal knihu pod názvem Domain-Driven Design: Tackling Complexity in the Heart of Software.

Jeden z problémů, při vývoji většího informačního systému je jazyk. DDD popisuje metody jak si ujasnit komunikaci mezi doménovým expertem a programátorem.

Změny schématů způsobují zmatky v datech, v kritických systémech se objevují duplicitní řádky nebo sloupce a špatné data způsobují značné časové, finanční náklady na opravu. Je třeba lépe komunikovat a řešit problémy s kvalitou dat v rámci iteračního cyklu zlepšování spolehlivosti dat.

Doména

Abstraktní slovo, které nám vymezuje nějakou oblast zájmu. Doména má vlastní terminilogii, jazyk, experty.

Související