Moje rozumienie DDD (+ clean architecture)

na przykładzie bajki o 3 świnkach​

Perspektywa... ma znaczenie :)

DDD

Strategiczne

Taktyczne

Domeny


Bajki


Dyskusje

Identity & Access
Management


Dyskusje


Bajki

Identity & Access
Management

Bounded Context

Ubiquitous Language

Mama
Dom
Wilk

Jak się za to zabrać?

EventStorming!

  • Złota zasada: zdarzenia (czasowniki, czas przeszły, dokonany), a NIE struktury danych (rzeczowniki)
  • Big Picture ES - znajdowanie domen
  • Process-Level ES - odkrywanie Bounded Contextów
  • Design-Level ES - taktyczne DDD w obrębie BC
  • Komendy (zmiana stanu systemu) i widoki

domainlanguage.com/ddd/whirlpool

DDD

Strategiczne

Taktyczne

Klocki





Specification, Policy

Kod

Jaki agregat w Trzech małych świnkach?

Założenia

  • Budowanie domu: słoma, drewno, cegły
  • Zdmuchnięcie domu przez wilka => ucieczka świnki do sąsiada
  • Rezygnacja po 2 nieudanych próbach zdmuchnięcia domu
  • Wyciąganie wniosków i nauka na błędach
  • Pominięte:
    • Mama świnek
    • Wchodzenie przez komin
    • Zjadanie świnek

Czyli co?

Big Picture

Design-Level

Clean Architecture

User Stories

  • Jako użytkownik, chcę poznać bajkę o trzech świnkach, żeby móc ją opowiedzieć innym
  • Jako świnka, chcę zbudować dom, dostosowany do moich potrzeb
    • Dokumentowanie i utrwalanie informacji
  • Jako świnka, chcę móc odwiedzić sąsiada
  • Jako świnka, chcę wymieniać się wiedzą ze współlokatorami
  • Jako wilk chcę zdmuchnąć dom, żeby móc złapać świnkę
    • Rejestr - z tym domem już próbowano

Dzięki!