Strategiczne Domain-Driven Design

Strategiczne podejście w Domain-Driven Design (DDD) koncentruje się na organizacji i podziale złożonych systemów informatycznych na wyraźnie zdefiniowane części, zwane kontekstami ograniczonymi. Obejmuje identyfikację i modelowanie kluczowych obszarów domeny oraz określanie relacji między nimi. To podejście pomaga w zarządzaniu złożonością poprzez wyodrębnianie niezależnych subdomen i definiowanie granic ich odpowiedzialności. Strategiczne DDD wykorzystuje wzorce takie jak mapy kontekstów, które ilustrują współdziałanie różnych części systemu.

Strategiczne Domain-Driven Design to podejście do projektowania oprogramowania skupione na modelowaniu domeny biznesowej i podziale złożonych problemów na mniejsze obszary. Bywa łączone z określaniem subdomen, organizacją modułów oraz technikami wspierającymi rozwój i utrzymanie aplikacji.

Testowanie zachowania

Testowanie zachowania pozwala sprawdzać system z perspektywy reguł i oczekiwań biznesowych.

  • Testy BDD mogą pomóc zweryfikować prawidłowość logiki biznesowej.
  • Scenariusze testowe warto formułować jako przykłady obserwowalnego zachowania systemu, tak aby wynik można było ocenić na podstawie tego, co system robi po otrzymaniu określonych danych.

Dokumentowanie działania

Testy BDD opisują działanie aplikacji w sposób zrozumiały dla osób zaangażowanych w jej rozwój.

  • Mogą służyć jako dokumentacja działania aplikacji, ponieważ przedstawiają oczekiwane zachowanie w konkretnych sytuacjach.
  • Mogą również tworzyć listę zmian w aplikacji, pokazując, jakie zachowania zostały dodane lub zmodyfikowane.

Modelowanie domeny

Model domeny porządkuje złożoność biznesową, wyodrębniając obszary o odmiennych celach i regułach.

  • W dużej firmie subdomena może być również domeną.

Modułowa organizacja zmian

Modułowa organizacja zmian pozwala wprowadzać nowe funkcjonalności w sposób bardziej uporządkowany i odseparowany od istniejącego kodu.

  • Dodanie nowej funkcjonalności jako osobnego modułu może zmniejszyć obciążenie poznawcze.
  • Takie podejście może również ograniczyć ryzyko regresji.

Praktyki wytwarzania

Praktyki wytwarzania pomagają przekładać cele projektowe na małe, szybko sprawdzane kroki implementacji.

  • Programowanie w tył, czyli rozpoczynanie od oczekiwanego rezultatu i cofanie się do decyzji potrzebnych po drodze, może ułatwić skupienie na celu.
  • W TDD testy powinny wykonywać się w czasie krótszym niż sekunda, aby częste uruchamianie ich nie spowalniało pracy.

Twierdzenia w tym opracowaniu