Funktionale Softwarearchitektur
von Mike Sperber
Moderne Softwarearchitektur muss sich mit zwei hartnäckigen Problemen herumschlagen:
– exzessive Kopplung durch die Verwendung von „mutable state“
– unzureichende Modellierung von Domänendaten
Beide Probleme führen zu Software, die schwer zu warten ist und die wenig dazu beiträgt, das Leben der Benutzer:innen besser zu machen.
Objektorientierte Programmierung und Domain-Driven Design tragen wenig zur Lösung bei.
Funktionale Softwarearchitektur ist Architektur mit Daten und Funktionen, die sich beider Probleme annimt:
– kein oder nur kontrollierter „mutable state“
– reichhaltig strukturierte und flexible Datenmodelle
Zur funktionalen Softwarearchitektur gehört noch mehr – speziell die Verwendung von Abstraktion und Mathematik, um präzise, verständliche Modelle umzusetzen sowie weitere Flexibilität. All diese Vorteile kommen der Architektur zugute und sorgen dafür, dass unsere Systeme geschmeidig und nützlich bleiben während eines langen Lebens.