15.01.2015 Aufrufe

Der Entwickler- Almanach

Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.

YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.

Integrationen sind abhängig von anderen Funktionseinheiten – doch diese Abhängigkeit ist minimal. Denn<br />

zwar interessiert sich eine Integration für die Semantik einer integrierten Funktionseinheit, sie tut mit deren<br />

Ergebnissen jedoch selbst nichts. Integrationen enthalten keine Logik, das heißt sie sind frei von<br />

Kontrollstrukturen und Ausdrücken. Ihr Job ist allein die Verdrahtung der Blasen, die sie integrieren<br />

sollen. Im einfachsten Fall bestehen sie also nur aus Funktionsaufrufen.<br />

Beispiel:<br />

Das IOSP macht Integrationen einfach zu lesen und robust. Änderungen ergeben sich häufig in der Logik<br />

– doch die ist in den Operationen konzentriert.<br />

Dadurch, dass Integrationen ohne Logik sind, lassen sie sich auch leicht wiederverwenden.<br />

Integrationshierarchien sind deshalb billig. Und das bedeutet, es ist billig, Inkremente im Code zu erhalten.<br />

Für Integrationen muss kein optimales Klassenmodell gefunden werden. Sie selbst greifen ja nicht auf<br />

globale Daten zu. Das tun ausschließlich Operationen. Eine Klasse, die nur Integrationsmethoden enthält,<br />

die für sich jeweils überschaubar sind, kann also durchaus sehr umfangreich sein.<br />

Sie ist in ihrer Struktur trivial. Ein großer Fan-out an Abhängigkeiten von Operationen ist unkritisch, da<br />

die Integration einem anderen Aspekt angehört. Sie ist zu vergleichen mit einem Dependency-Injection-<br />

Container, der ja auch viele Klassen kennt und trotzdem unempfindlich gegen Veränderungen in ihnen ist.<br />

Um die Entkopplung zur Erhaltung der Inkremente noch zu erhöhen, ist allerdings ein weiteres Prinzip<br />

nötig, denke ich. Das nenne ich das Prinzip der gegenseitigen Nichtbeachtung (Principle of Mutual

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!