Die IODA Architektur im Vergleich
$4.99
Minimal-Preis
$4.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.

Table of Contents

  • 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, Kein Risiko, 100% zufrieden Garantie

Innerhalb von 45 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.

Do Well. Do Good.

Authors have earned$10,818,894writing, publishing and selling on Leanpub, earning 80% royalties while saving up to 25 million pounds of CO2 and up to 46,000 trees.

Erfahren Sie mehr über das Schreiben mit Leanpub

Free Updates. DRM Free.

If you buy a Leanpub book, you get free updates for as long as the author updates the book! Many authors use Leanpub to publish their books in-progress, while they are writing them. All readers get free updates, regardless of when they bought the book or how much they paid (including free).

Most Leanpub books are available in PDF (for computers), EPUB (for phones and tablets) and MOBI (for Kindle). The formats that a book includes are shown at the top right corner of this page.

Finally, Leanpub books don't have any DRM copy-protection nonsense, so you can easily read them on any supported device.

Learn more about Leanpub's ebook formats and where to read them

Schreiben und veröffentlichen mit Leanpub

Autoren und Verlage nutzen Leanpub, um erstaunliche Fortschritte zu veröffentlichen und ebooks zu vervollständigen. Sie können Leanpub auch schreiben, veröffentlichen und verkaufen! Leanpub ist eine leistungsstarke Plattform für ernsthafte Autoren und kombiniert einen einfachen, eleganten Schreib- und Publishing-Workflow mit einem Laden, der sich auf den Verkauf von ebooks konzentriert. Leanpub ist eine magische Schreibmaschine für Autoren: Schreiben Sie einfach in Klartext, und um Ihr ebook zu veröffentlichen, klicken Sie einfach auf eine Schaltfläche. Es ist wirklich so einfach.

Erfahren Sie mehr über das Schreiben mit Leanpub