Podchaser Logo
Home
Folge 3: Software Composition

Folge 3: Software Composition

Released Sunday, 3rd January 2021
Good episode? Give it some love!
Folge 3: Software Composition

Folge 3: Software Composition

Folge 3: Software Composition

Folge 3: Software Composition

Sunday, 3rd January 2021
Good episode? Give it some love!
Rate Episode

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.

Show More
Rate

Join Podchaser to...

  • Rate podcasts and episodes
  • Follow podcasts and creators
  • Create podcast and episode lists
  • & much more

Episode Tags

Do you host or manage this podcast?
Claim and edit this page to your liking.
,

Unlock more with Podchaser Pro

  • Audience Insights
  • Contact Information
  • Demographics
  • Charts
  • Sponsor History
  • and More!
Pro Features