DDD (domain-driven design)
Projektowanie oprogramowania wokół języka i reguł samego biznesu, z kodem podzielonym tam, gdzie ten język zmienia znaczenie.
Programiści i eksperci dziedzinowi uzgadniają pojęcia (wspólny język), a kod używa tych samych słów. Część strategiczna wyznacza bounded contexty i to, jak się ze sobą komunikują; część taktyczna daje klocki: encje, obiekty wartości i agregaty. Większość wartości leży w części strategicznej; zespoły, które biorą same klocki, często dostają dodatkowe warstwy i niewiele więcej.
Powiązane hasła
- Bounded context (kontekst ograniczony): Część systemu, w której każde pojęcie biznesowe ma jedno znaczenie i jeden model, z jawnym tłumaczeniem na granicach.
- Agregat (DDD): Grupa obiektów zmienianych jako całość, z jednym korzeniem, który pilnuje reguł biznesowych i wyznacza granicę jednej transakcji.
- Anti-corruption layer (ACL): Warstwa tłumacząca między Twoim modelem a starym albo zewnętrznym systemem, żeby jego kształty danych i dziwactwa nie przeciekały do Twojego kodu.
