2004 veröffentlichte Eric Evans sein Buch ‚Domain-Driven Design: Tackling Complexity in the Heart of Software‘. Er prägte damit den Begriff Domain-Driven Design (DDD), welcher in Deutsch als Domänen getriebenes Design übersetzt werden kann. 18 Jahre später, könnte man in einem so schnelllebigen Bereich wie der Softwareentwicklung, dieses Buch als bereits veraltet ansehen. Doch jedoch genau der entgegengesetzte Fall scheint hierbei einzutreten. Entkopplung und Unabhängigkeit von Softwaresystemen erlangt einen immer höheren Stellenwert und übersteigen in den meisten Bereichen den Faktor Redundanz. Hierbei wird die Forderung an Werkzeugen für das Design und die Umsetzung dieser Thematik immer präsenter. In der vorliegenden Arbeit soll nun DDD allgemein sowie dessen aktueller Stand der Praxis und seinen Einsatzgebieten genauer erläutert werden.
Erfahren Sie mehr über DDD und erhalten Sie eine Einführung in den aktuellen Stand der Praxis.
Inhaltsverzeichnis
- Einleitung
- Problemstellung
- Aufbau und Ziel
- Definition Domain-Driven Design
- Domain-Driven Design
- Strategisches Design
- Taktisches Design
- Stand der Praxis von Domain-Driven Design
- Domain-Driven Design im Kontext des Projektmanagements
- Domain-Driven Design im Kontext der Modularisierung
- Domain-Driven Design im Kontext der Microservices
- Domain-Driven Design aktueller Stand der Praxis
- Zusammenfassung
- Kritische Reflexion
- Ausblick
Zielsetzung und Themenschwerpunkte
Die Arbeit untersucht den aktuellen Stand und die Einsatzgebiete von Domain-Driven Design (DDD) in der Softwareentwicklung. Das Ziel ist es, die zentralen Aspekte von DDD zu beleuchten und seine Bedeutung im Kontext von Projektmanagement, Modularisierung und Microservices aufzuzeigen.
- Einführung in die Konzepte von Domain-Driven Design
- Analyse des strategischen und taktischen Designs in DDD
- Untersuchung des aktuellen Praxisstands von DDD in verschiedenen Bereichen
- Bewertung der Vorteile und Herausforderungen von DDD
- Prognose der zukünftigen Entwicklung und Bedeutung von DDD
Zusammenfassung der Kapitel
- Einleitung: Die Einleitung stellt die Problemstellung der Arbeit dar, die sich aus der Relevanz von DDD in der modernen Softwareentwicklung ergibt. Sie skizziert den Aufbau und die Zielsetzung der Arbeit.
- Definition Domain-Driven Design: Dieses Kapitel führt in die grundlegenden Konzepte von DDD ein und erklärt die wichtigsten Punkte des Ansatzes. Es erläutert die Begriffe Domain, Ubiquitous Language und Bounded Context sowie die Unterscheidung zwischen strategischem und taktischem Design.
- Stand der Praxis von Domain-Driven Design: Dieses Kapitel beleuchtet die Anwendung von DDD in verschiedenen Kontexten. Es analysiert die Rolle von DDD im Projektmanagement, in der Modularisierung und im Kontext von Microservices.
Schlüsselwörter
Domain-Driven Design, Strategisches Design, Taktisches Design, Bounded Context, Ubiquitous Language, Projektmanagement, Modularisierung, Microservices, Softwareentwicklung, Softwarearchitektur, Komplexität, Fachlichkeit, Modellierung, Kommunikation, Designmuster
Häufig gestellte Fragen
Was ist Domain-Driven Design (DDD)?
DDD ist ein Softwareentwicklungsansatz, der die Fachlichkeit (Domäne) und deren Komplexität ins Zentrum des Designs stellt, um Softwaresysteme besser wartbar und verständlich zu machen.
Was versteht man unter 'Strategischem Design' in DDD?
Es befasst sich mit der Grobstruktur großer Systeme, insbesondere durch die Definition von 'Bounded Contexts' und der 'Ubiquitous Language' (allgegenwärtige Sprache).
Welche Rolle spielt DDD bei Microservices?
DDD liefert die Werkzeuge (wie Bounded Contexts), um klare Grenzen für Microservices zu definieren, was Entkopplung und Unabhängigkeit der Systeme fördert.
Warum ist DDD heute noch relevant, obwohl das Buch von 2004 stammt?
Trotz des Alters ist DDD aktueller denn je, da moderne Architekturen wie Microservices Werkzeuge benötigen, um fachliche Komplexität und Unabhängigkeit zu bewältigen.
Was ist die 'Ubiquitous Language'?
Es ist eine gemeinsame Sprache, die von Entwicklern und Fachexperten gleichermaßen genutzt wird, um Missverständnisse bei der Modellierung zu vermeiden.
Was sind die Herausforderungen bei der Einführung von DDD?
Herausforderungen liegen in der hohen Lernkurve, der notwendigen engen Zusammenarbeit mit Fachexperten und dem organisatorischen Wandel im Projektmanagement.
- Quote paper
- Nick Wahrenberger (Author), 2022, Stand der Praxis von Domain-Driven Design, Munich, GRIN Verlag, https://www.grin.com/document/1362528