Die IODA Architektur im Vergleich
Die IODA Architektur im Vergleich
Über das Buch
Softwarearchitekturmuster geben Hilfe bei der groben und grundsätzlichen Strukturierung von Code. Es sind geronnene Erkenntnisse zur Herstellung von Ordnung in Software, um sie länger wandelbar zu halten.
Über die Jahrzehnte hat es verschiedene Empfehlungen gegeben, wie solche Ordnung aussehen sollte. So wurden Generationen von Entwickelnden geleitet. Allerdings war diese Leitung nicht schmerzfrei; ich möchte sogar sagen, dass die Schmerzen zugenommen haben, seit zur Wandelbarkeit auch noch die Testbarkeit als Langlebigkeitsanforderung getreten ist. Einige Komplexität in Codebasen, die modernen Architekturmustern folgen, ist darauf zurückzuführen, eben diese Muster zu implementieren und die Testbarkeit zu erhöhen.
So entsteht oft ein Widerspruch in der Praxis: Die Befolgung eines Architekturmusters soll erleichtern - doch durch seine Befolgung entsteht zusätzlicher Aufwand. Ganz zu schweigen davon, dass grundlegende Übel wie überlange Funktionen dadurch gar nicht adressiert werden.
Als Wurzelproblem dahinter habe ich funktionale Abhängigkeiten identifiziert. Sie kommen so unschuldig wie normal daher, doch sie ziehen Verständlichkeit und Testbarkeit drastisch herunter. Funktionale Abhängigkeiten existieren immer dort, wo Logik in einer Funktion mit Aufrufen anderer Funktionen wechselt.
Das ist das vorherrschende Muster in der Codierung von Funktionen und liegt unterhalb des Radars der Architekturempfehlungen. Sie erkennen es als gegeben an und versuchen lediglich, seinen negativen Einfluss zu reduzieren. Das halte ich für nicht mehr akzeptable, weil dadurch Klarheit verlorengeht. Die schwierige Testbarkeit wird nur symptomatisch behandelt; der Behandlungsansatz steigert die Komplexität. Insgesamt leidet die Wandlungsfähigkeit.
Dem stelle ich mit der IODA Architektur einen Vorschlag gegenüber, der das Übel an der Wurzel packt. In der IODA Architektur gibt es keine funktionalen Abhängigkeiten mehr - und damit verschwinden die daraus folgenden Friktionen. Die Verständlichkeit steigt, denn die IODA Architektur führt ganz natürlich zu (sehr) kleinen Funktionen. Die Testbarkeit steigt, weil der hauptsächlich zu testende Code ohne Abhängigkeiten und leicht zugänglich ist.
In diesem Band sind drei Artikel aus der .NET Fachzeitschrift dotnetpro versammelt, die die IODA Architektur am Beispiel erklären. Zunächst stelle ich bisherige Architekturmuster theoretisch und mit Code vor, dann kontrastiere ich sie mit einer Implementation nach IODA Architektur.
Die Erstausgabe der Artikel war 2018. Seitdem hat sich die IODA Architektur weiterentwickelt. Deshalb findet sich am Ende ein Update einiger Aspekte.
Bei der IODA Architektur steht wie bei den moderneren konzentrischen Architekturmustern die Domäne im Mittelpunkt. Doch Domäne und periphere Funktionsbereiche sind nicht miteinander direkt "verdrahtet". Diese Unabhängigkeit basierend auf Prinzipien abgeleitet aus der ursprünglichen Objektorientierung nach Alan Kay macht Code strukturiert nach IODA Architektur leichter verständlich und besser testbar.
Ver. 1.0.1.20201227
Inhaltsverzeichnis
- Vorwort
-
1 - Eine Kritik bisheriger Architekturmodelle
- Am Anfang war der Monolith
- Den Monolithen in Schichten spalten
- Schichten entkoppeln
- Schichten in Schale werfen
- Reflexion
-
2 - Das IODA Architekturmodell
- Funktionale Abhängigkeiten als Wurzelproblem
- Auflösung funktionaler Abhängigkeiten
- Operationen verbinden
- Verbindung zur Außenwelt
- Ein neues Architekturmuster
- Echt abstrakt
-
3 - IODA am Beispiel
- Struktur fraktal
- Zusammenfassung
-
Update 2020
- Logik frisch definiert
-
Integrationen konsequent benannt
- Interactor
- Processor
- Interactor-Varianten
- Reflexion
- Anmerkungen
Die bedingungslose Leanpub Garantie: Kein Risiko, 100% Zufriedenheit
Innerhalb von 60 Tagen ab Kauf kannst du dein Geld zu 100% zurückverlangen, bei jedem Leanpub-Kauf, in nur zwei Klicks. Wir bearbeiten die Erstattungen manuell, daher dauert es ein paar Tage, bis der Betrag ankommt.
Lese die kompletten Bedingungen.
Verdienen Sie $8 bei einem Kauf von $10 und $16 bei einem Kauf von $20
Wir zahlen 80% Tantiemen bei Käufen von $7,99 oder mehr und 80% Tantiemen abzüglich einer Pauschalgebühr von 50 Cent bei Käufen zwischen $0,99 und $7,98. Sie verdienen $8 bei einem Verkauf von $10 und $16 bei einem Verkauf von $20. Wenn wir also 5000 nicht zurückgegebene Exemplare Ihres Buches für $20 verkaufen, verdienen Sie $80,000.
(Ja, einige Autoren haben auf Leanpub bereits viel mehr verdient.)
Tatsächlich haben Autoren durch das Schreiben, Veröffentlichen und Verkaufen auf Leanpubüber 13 Millionen Dollar verdient.
Erfahren Sie mehr über das Schreiben auf Leanpub
Kostenlose Updates. Ohne DRM.
Mit dem Kauf auf Leanpub bekommst Du kostenlose Updates solange der Autor Änderungen vornimmt! Viele Autoren veröffentlichen ihre Bücher während des Schreibens. Alle Leser bekommen dann kostenlose Updates, egal wann sie das Buch gekauft haben oder wie viel sie bezahlt haben (auch wenn es kostenlos war).
Die meisten Leanpub Bücher sind erhältlich als PDF (für Computer) oder EPUB (für Handy, Tablet, Kindle). Die verfügbaren Formate sind oben rechts auf dieser Seite angezeigt.
Leanpub Bücher kommen ohne DRM Kopierschutz Firlefanz, sodass Du sie problemlos auf jedem unterstützten Gerät lesen kannst.
Erfahren Sie mehr über Leanpubs E-Book-Formate und wo Sie sie lesen können