Die IODA Architektur im Vergleich
$7.99
Mindestpreis
$7.99
Empfohlener Preis

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

Über die Autoren

ralfw
Ralf Westphal

Ralf Westphal is a freelance consultant, project coach, trainer, author, and speaker on concepts and methods to increase longterm productivity in software development. He is also the co-founder of the German "Clean Code Developer" initiative for higher software quality.

Ralf is based in Bansko, Bulgaria. Visit his homepage at www.ralfw.de for information on regular in-depth online trainings and consulting regarding sustainable software development.

dotnetpro
dotnetpro

dotnetpro ist Europas wegweisendes Softwareentwickler-Magazin im deutschsprachigen Raum für Microsoft .NET, das Web und die Entwicklung mobiler Apps. Hier erfahren Entwickler alles Wichtige über neue Trends bei der Softwarearchitektur, über Vorgehensweisen, zur Praxis bei der Entwicklung von Frontends und Backends sowie unverzichtbare Tools und Open-Source-Projekte.

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 Leanpub 60-Tage 100% Zufriedenheitsgarantie

Innerhalb von 60 Tagen nach dem Kauf können Sie mit nur zwei Klicks eine 100% Rückerstattung für jeden Leanpub-Kauf erhalten.

Technisch gesehen ist das ein Risiko für uns, da Sie die Buch- oder Kursdateien so oder so behalten. Aber wir sind so überzeugt von unseren Produkten und Dienstleistungen sowie von unseren Autoren und Lesern, dass wir gerne eine vollständige Geld-zurück-Garantie für alles anbieten, was wir verkaufen.

Sie können nur herausfinden, wie gut etwas ist, indem Sie es ausprobieren, und dank unserer 100% Geld-zurück-Garantie gehen Sie dabei buchstäblich kein Risiko ein!

Es gibt also keinen Grund, nicht auf den 'In den Warenkorb'-Button zu klicken, oder?

Vollständige Bedingungen ansehen...

Verdienen Sie 8$ bei einem Verkauf von 10$ und 16$ bei einem Verkauf von 20$

Wir zahlen 80% Tantiemen auf Käufe von 7,99$ oder mehr und 80% Tantiemen abzüglich einer Pauschale von 50 Cent auf Käufe 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ückerstattete Exemplare Ihres Buches für 20$ verkaufen, verdienen Sie 80.000$.

(Ja, einige Autoren haben auf Leanpub bereits viel mehr als das verdient.)

Tatsächlich haben Autoren bereitsüber 14 Millionen Dollar durch das Schreiben, Veröffentlichen und Verkaufen auf Leanpub verdient.

Erfahren Sie mehr über das Schreiben auf Leanpub

Kostenlose Updates. DRM-frei.

Wenn Sie ein Leanpub-Buch kaufen, erhalten Sie kostenlose Updates, solange der Autor das Buch aktualisiert! Viele Autoren nutzen Leanpub, um ihre Bücher während des Schreibprozesses zu veröffentlichen. Alle Leser erhalten kostenlose Updates, unabhängig davon, wann sie das Buch gekauft oder wie viel sie bezahlt haben (einschließlich kostenloser Bücher).

Die meisten Leanpub-Bücher sind als PDF (für Computer) und EPUB (für Smartphones, Tablets und Kindle) verfügbar. Die verfügbaren Formate eines Buches werden in der oberen rechten Ecke dieser Seite angezeigt.

Schließlich haben Leanpub-Bücher keinen DRM-Kopierschutz-Unsinn, sodass Sie sie problemlos auf allen unterstützten Geräten lesen können.

Erfahren Sie mehr über Leanpubs E-Book-Formate und wo Sie sie lesen können

Auf Leanpub schreiben und veröffentlichen

Mit Leanpub können Sie ganz einfach E-Books und Online-Kurse schreiben, veröffentlichen und verkaufen - sowohl während der Entstehung als auch nach Fertigstellung!

Leanpub ist eine leistungsstarke Plattform für engagierte Autoren, die einen einfachen, eleganten Schreib- und Veröffentlichungsprozess mit einem Shop verbindet, der sich auf den Verkauf von E-Books in Entstehung konzentriert.

Leanpub ist eine magische Schreibmaschine für Autoren: Schreiben Sie einfach in normalem Text und klicken Sie zur Veröffentlichung Ihres E-Books nur auf einen Button. (Wenn Sie Ihr E-Book auf Ihre eigene Art erstellen, können Sie sogar Ihre eigenen PDF- und/oder EPUB-Dateien hochladen und mit einem Klick veröffentlichen!) Es ist wirklich so einfach.

Erfahren Sie mehr über das Schreiben auf Leanpub