DDD
ArchitectureDer Einsatz von Domain Driven Design (DDD) hat sich in vielen unserer Projekte bewährt, weshalb wir diese Methode neu im "Adopt"-Ring aufführen. Wir setzen DDD auch zur Unterstützung in den vier grossen Aufgabengebieten der Software-Entwicklung ein: Anforderungsermittlung, Modellbildung, fachliche und technische Architektur.
Domain Driven Design (DDD) hilft bei der Implementierung von Fachapplikationen. Zentral ist dabei die Verwendung einer einheitlichen und präzisen Sprache für die Beschreibung von Abstraktionen (Modellen) zwischen Entwicklern und Fachpersonen. Es wird zwischen einem taktischen und einem strategischen Teil unterschieden. Der taktische Teil behandelt die verschiedenen Verantwortlichkeiten (Stereotypen / Building Blocks) der Klassen. In Kombination mit einer Package-Struktur gemäss hexagonaler / Onion Architektur ergibt sich daraus eine klar nachvollziehbare und leicht zu testende Implementierung. Der strategische Teil bietet Konzepte für die Abgrenzung und Integration mehrerer Bereiche untereinander und dient damit vor allem der Architekturstufe.
Bei Inventage haben wir DDD (taktisch und strategisch) erfolgreich in mehreren Projekten eingesetzt. Bei Projekten für Fachbereiche sehen wir in DDD den grössten Nutzen. Aus diesem Grund empfehlen wir DDD in weiteren Projekten einzusetzen und zu testen. Die Lernkurve für DDD ist leider aufgrund der aktuell verfügbaren Literatur noch etwas holprig.