© Rawpixel.com/Shutterstock.com
Java Magazin
Teil 2: Strategic Design

Umfassend und ganzheitlich …


Domain-driven Design bietet uns mit dem sogenannten Strategischen Design eine Anleitung, wie eine Domain und damit der Problemraum fachlich erfasst und aufgeteilt werden kann. Diese Aufteilung lässt sich dann auf den Lösungsraum – die Software – übertragen. Die Fachbegriffe aus DDD, die dabei eine Rolle spielen, sind: Domain, Subdomain, Bounded Context und schließlich die Context Map für das Zusammenspiel der Bounded Contexts. In diesem Artikel werden wir diese Begriffe und unser Verständnis davon vorstellen.

Die Domain und ihre Aufteilung in Subdomains lassen sich am besten mit den vorhandenen und zukünftigen Anwendern des Systems erarbeiten. Wir fangen in der Regel damit an, uns zusammen mit den Anwendern und Fachexperten einen Überblick über die Domain zu verschaffen. Das kann in Workshops mit Event Storming oder mit Domain Storytelling gemacht werden. Zwei Methoden, die für Anwender und Entwickler gleichermaßen gut verständlich sind [1]. Ergebnis dieser Workshops ist ein Verständnis der Ubiquitous Language (dt.: allgegenwärtige Sprache), der Fachsprache der Anwender, und der Abläufe, der Geschäftsprozesse, in der Domain.

Artikelserie

Teil 1: Warum Domain-driven Design?

Teil 2: Strategic Design

Teil 3: Ubiquituous Language

Teil 4: Taktisches Design

Teil 5: DDD und Microservices

Gleichzeitig bilden sich im Workshop Ideen heraus, wie die Domain in Subdomains aufgeteilt werden kann. Eine Subdomain ist ein Teil der umfassenden Geschäftsdomäne des gesamten Unternehmens. Die meisten Geschäftsdomänen sind zu groß und zu komplex, um sie als Ganzes zu betrachten. Durch die Zerlegung in Subdomains wird die Modellierungs- und Entwicklungsarbeit für die Teams beherrschbar und lässt sich auf spezifische Aspekte einschränken. Die große Kunst dabei ist es, beherrschbare Subdomains zu identifizieren und gegebenenfalls Subdomains, die im Laufe des Lebens einer Software zu groß werden, auch zu einem späteren Zeitpunkt in weitere Subdomains zerlegen zu können. Gute Indizien für ...

Java Magazin
Teil 2: Strategic Design

Umfassend und ganzheitlich …

Domain-driven Design bietet uns mit dem sogenannten Strategischen Design eine Anleitung, wie eine Domain und damit der Problemraum fachlich erfasst und aufgeteilt werden kann. Diese Aufteilung lässt sich dann auf den Lösungsraum - die Software - übertragen. Die Fachbegriffe aus DDD, die dabei eine Rolle spielen, sind: Domain, Subdomain, Bounded Context und schließlich die Context Map für das Zusammenspiel der Bounded Contexts. In diesem Artikel werden wir diese Begriffe und unser Verständnis davon vorstellen.

Carola Lilienthal, Michael Plöd


Domain-driven Design bietet uns mit dem sogenannten Strategischen Design eine Anleitung, wie eine Domain und damit der Problemraum fachlich erfasst und aufgeteilt werden kann. Diese Aufteilung lässt sich dann auf den Lösungsraum – die Software – übertragen. Die Fachbegriffe aus DDD, die dabei eine Rolle spielen, sind: Domain, Subdomain, Bounded Context und schließlich die Context Map für das Zusammenspiel der Bounded Contexts. In diesem Artikel werden wir diese Begriffe und unser Verständnis davon vorstellen.

Die Domain und ihre Aufteilung in Subdomains lassen sich am besten mit den vorhandenen und zukünftigen Anwendern des Systems erarbeiten. Wir fangen in der Regel damit an, uns zusammen mit den Anwendern und Fachexperten einen Überblick über die Domain zu verschaffen. Das kann in Workshops mit Event Storming oder mit Domain Storytelling gemacht werden. Zwei Methoden, die für Anwender und Entwickler gleichermaßen gut verständlich sind [1]. Ergebnis dieser Workshops ist ein Verständnis der Ubiquitous Language (dt.: allgegenwärtige Sprache), der Fachsprache der Anwender, und der Abläufe, der Geschäftsprozesse, in der Domain.

Artikelserie

Teil 1: Warum Domain-driven Design?

Teil 2: Strategic Design

Teil 3: Ubiquituous Language

Teil 4: Taktisches Design

Teil 5: DDD und Microservices

Gleichzeitig bilden sich im Workshop Ideen heraus, wie die Domain in Subdomains aufgeteilt werden kann. Eine Subdomain ist ein Teil der umfassenden Geschäftsdomäne des gesamten Unternehmens. Die meisten Geschäftsdomänen sind zu groß und zu komplex, um sie als Ganzes zu betrachten. Durch die Zerlegung in Subdomains wird die Modellierungs- und Entwicklungsarbeit für die Teams beherrschbar und lässt sich auf spezifische Aspekte einschränken. Die große Kunst dabei ist es, beherrschbare Subdomains zu identifizieren und gegebenenfalls Subdomains, die im Laufe des Lebens einer Software zu groß werden, auch zu einem späteren Zeitpunkt in weitere Subdomains zerlegen zu können. Gute Indizien für ...

Angebote für Teams

Für Firmen haben wir individuelle Teamlizenzen. Wir erstellen Ihnen gerne ein passendes Angebot.

Das Library-Modell:
IP-Zugang

Das Company-Modell:
Domain-Zugang