Kompositionalität als Architekturprinzip
Softwaresysteme bestehen aus Bausteinen. Aber kann ein Softwaresystem Baustein eines anderen sein? Andersherum: Besteht ein System aus "Bausteinen all the way down"? Das wäre gut, weil beim Zusammensetzen die Details verschwinden und so konsequent abstrahiert wird – wir komponieren dann, anstatt einfach nur zu basteln. Das gleiche gilt für Domänenmodelle – sogennante Kombinatormodelle sind flexible Baukästen statt starrer Formulare.
Die Realität der meisten Systeme sieht leider anders aus: Softwaresysteme und ihre Bausteine werden mehr schlecht als recht miteinander verschaltet, bedingt auch durch gängige Architekturmuster wie die hexagonale Architektur, die einfach nicht komponieren. Bei den Domänenmodellen ist es ähnlich: Elemente typischer OO-Modelle lassen sich oft nur begrenzt zusammensetzen – in der obersten Schicht ist Schluss. Entsprechend groß ist der Refaktorisierungs- und Modernisierungsaufwand, wenn sich die Anforderungen ändern.
Im Talk gehen wir auf eine Reise der Kompositionalität auf verschiedenen Ebenen: Wir besuchen Projekte aus der Praxis, bei denen Kompositionalität ein zentrales Designprinzip ist, nahezu unbegrenzt flexible Kombinatormodelle und kompositionale Modulsysteme. Wir ziehen Paralleln zum Prinzip "closure of operations" im DDD und zeigen die Prinzipien, die du beim Einsatz von Komposition beachten solltest.
Dr. Michael Sperber is CEO of Active Group in Tübingen, Germany. Mike specializes in functional architecture, and has been an internationally recognized expert in the field. He has authored many papers on the subject as well as several books. Mike is also an accredited iSAQB trainer, curator of its FUNAR and DSL curricula, and a member of iSAQB's Foundation working group.
More content from this speaker? Have a look at sigs.de: https://www.sigs.de/experten/michael-sperber/