Flexibles Software-Design schlägt starre Domain-Modelle

2025-09-08

Dieser Artikel hinterfragt das gängige Software-Design-Prinzip, Code eng an das Domain-Modell zu binden. Der Autor argumentiert, dass die übermäßige Betonung der Vermeidung ungültiger Zustände, beispielsweise durch strenge Datenbank-Schemata und Typbeschränkungen, die Flexibilität der Software einschränkt und den Umgang mit unvermeidlichen Ausnahmen in der realen Welt erschwert. Anhand von Zustandsautomaten und Fremdschlüsselbeschränkungen zeigt der Autor, wie beliebige Zustandsübergänge erlaubt werden können, während das Kern-Design einfach bleibt, wodurch die Anpassungsfähigkeit und Wartbarkeit der Software verbessert wird. Letztlich plädiert der Autor dafür, in benutzerorientierter Software einige ungültige Zustände darstellbar zu machen, um mit sich ändernden Anforderungen und unvorhergesehenen Umständen umzugehen.

Entwicklung Domain-Modell