Die meisten Anwendungen und Software-Systeme wachsen über die gesamte Lebenszeit kontinuierlich und müssen in Folge mit wachsender fachlicher Komplexität umgehen. Domain-Driven Design (kurz: DDD) ist ein Ansatz, der diese Problemstellung gezielt adressiert und in Form eines Werkzeugkastens Prinzipien, Methoden und Muster aufzeigt, wie mit einer solchen fachlichen Komplexität angemessen umgegangen werden kann. Dabei ist es nicht immer sinnvoll und auch nicht immer möglich, alle möglichen Werkzeuge aus diesem Werkzeugkasten einzusetzen. Um einschätzen zu können, welche Werkzeuge für ein Projekt geeignet sind und welche nicht, ist nicht nur ein entsprechendes Verständnis über den Umgang mit diesen Werkzeugen notwendig, sondern auch das Wissen, welche Auswirkung deren Verwendung hat. Im Zuge meiner Masterarbeit habe ich mit vielen namenhaften deutschsprachigen DDD-Experten Interviews geführt und die verschiedenen Werkzeuge individuell in Bezug auf ihre Vor- und Nachteile, ihren Einfluss auf die Software-Qualität, sowie ob es einen Unterschied bei deren Verwendung im Rahmen einer Neuentwicklung oder einem Refactoring bzw. einer Modernisierung gibt, untersucht.

Neben einer kurzen Einführung in DDD allgemein, liegt der Fokus des Vortrags auf den Building Blocks des Taktischen Designs und den wichtigsten Ergebnissen meiner Arbeit zu diesen. Verdeutlicht werden die verschiedenen Muster aus dem Taktischen Design anhand von Code-Beispielen.