© StonePictures/Shutterstock.com
Unter dem Druck der Ereignisse - Teil 1

Kopplung und Event-Orientierung


„Wenn die Entwicklung schwierig wird, werden kleinere Schritte probiert.“ Dieser Spruch aus dem Ingenieurroman über die Katastrophen des Dietrich Drahtlos [1] ist in der Softwarebranche seit Jahrzehnten Gang und Gäbe. Über die eigentliche Frage, wie man ein nicht überblickbares Softwaresystem in mundgerechte Elemente unterteilen kann, lässt sich jedenfalls hervorragend streiten. Ein Ansatz ist hier die Event-orientierte Entwicklung, die wir uns in dieser Artikelserie ausführlich ansehen wollen.

Die Event-Orientierung ist ein vergleichsweise wenig diskutiertes Paradigma der Softwareentwicklung. Das könnte an ihrer Einfachheit liegen, die es für akademische Papers wenig nützlich erscheinen lässt. Als .NET-Programmierer sollte man hier eigentlich einen gewissen Startvorteil haben, denn bereits im Jahr 2006 erschien beim damals für .NET-Themen vorgesehenen Apress-Verlag eines der besten Bücher zu diesem Thema: „Event-Based Programming. Taking Events to the Limit“ von Ted Faison [2].

Welche Vorteile die Event-orientierte Programmierung bietet, wie man Event-orientierte Architekturen baut und welche kommerziellen Implementierungsmöglichkeiten es gibt, möchten wir in dieser Artikelserie beleuchten.

Formalisierung durch Kalküle

Sie kennen sicherlich den Kalauer, dass nur das verbesserbar sei, was man auch messen kann. Ist das Ziel der Event-orientierten Programmierung eine Simplifikation des Gesamtsystems, so benötigen wir ein Verfahren zur Messung der Komplexität. Ein Klassiker dazu ist der im ehrwürdigen IBM Systems Journal im Mai 1974 erschienene Beitrag „Structured Design“, der das Konzept des Couplings einführt [3]. Dahinter steht der Gedanke, dass logische Elemente – seien es Funktionen, Klassen oder ganze Threads – irgendwie voneinander abhängig sind.

Es ist unmöglich, ein wirtschaftlich sinnvolles System zu entwerfen, das komplett ohne Couplings auskommt. Daraus folgt, dass eine der Aufgaben der Systemarchitektur darin bestehen muss, Kopplungen zu verwalten. Ein s...

Neugierig geworden?

Angebote für Teams

Für Firmen haben wir individuelle Teamlizenzen. Wir erstellen Ihnen gerne ein passendes Angebot.

Das Library-Modell:
IP-Zugang

Das Company-Modell:
Domain-Zugang