Folge 3: Software Composition

Folge 3: Software Composition

Software – insbesondere große Projekte – sind die…
8 Minuten
Podcast
Podcaster

Beschreibung

vor 3 Jahren
Software – insbesondere große Projekte – sind die Hölle, wenn man
den kompletten Code von Hand schreibt. Durch diese Hölle müssen
aber die meisten Projekte durch, weil sie eine Technik noch nicht
kennen oder können. Die Rede ist von Software Composition. Software
Composition ist ureigens erst einmal das Zusammensetzen, also
„Komponieren“ von Software. Wozu tut man das? Um Crosscutting
Concerns zu entflechten. Das bedeutet, man steigert die
Wiederverwendbarkeit seines Codes, indem man ihn unabhängig vom
aktuellen Projekt programmiert. Um das ganze etwas anschaulicher zu
machen nehmen wir mal das Beispiel „Logging“. Traditionell
programmiert würde man den Logging-Code quer über sein Projekt
verteilen. Das macht die bisherigen Funktionen schwerer lesbar,
weil überall Log-Aufrufe verstreut sind – und das Logging nur EIN
Aspekt der kompletten Software ist. Wenn noch Aspekte wie
Zugriffsregeln, Persistenz und Transaktionsfähigkeit hinzukommen,
behandelt nur noch ein kleiner Teil des Codes wirklich die aktuelle
Geschäftslogik. Noch schlimmer: Lernt man neue Programmierer ins
Projekt ein, müssen diese erst einmal die „Hygieneregeln“ des Codes
kennen lernen: Wie greift man auf das Zugriffsregel-System zu,
welche Ereignisse muss man loggen, wie verwendet man das
Transaktionssystem. Software Composition versucht jetzt, diese sich
überlappenden Aspekte zu entflechten. In dem einen Stück Code soll
nur die Geschäftslogik programmiert werden. Ein anderes Stück Code
soll für alle Funktionen die Zugriffsrechte einstellbar machen –
z.B. durch eine Zugriffsmatrix. Entflechten heißt hier wirklich
physisch: sie auf mehrere Dateien aufteilen, damit jemand, der den
Zugriffs-Code baut, sich nicht um das Logging kümmern muss. Fazit:
Software Composition ist ein mächtiges Werkzeug, um komplexen Code
zu entflechten. Es ermöglicht, eine komplexe Software im Code
einfach zu halten, auch wenn viele Aspekte aufeinanderprallen. Wenn
du mehr über Kompositionstechniken erfahren willst und wie man
diese konkret umsetzt, abonniere diesen Podcast.

Kommentare (0)

Lade Inhalte...

Abonnenten

15
15
:
: