Book description
Die Autorin beschreibt, welche Fehler in Softwareprojekten bei der Umsetzung der Architektur vermieden werden sollten und welche Prinzipien eingehalten werden müssen, um langlebige Architekturen zu entwerfen oder bei bestehenden Systemen zu langlebigen Architekturen zu gelangen. Sie geht auf Muster in Softwarearchitekturen und Mustersprachen ein, erläutert verschiedene Architekturstile und zeigt, welche Vorgaben letztlich zu Architekturen führen, die für Entwickler noch gut durchschaubar sind.
Mit über 200 farbigen Bildern aus real existierenden Softwaresystemen und etlichen Fallbeispielen werden schlechte und gute Lösungen verständlich und nachvollziehbar dargestellt.
Die 3. Auflage wurde in einzelnen Aspekten überarbeitet und insbesondere bei den Themen Domain-Driven Design und Microservices ergänzt. Neu aufgenommen wurden die Analyse von TypeScript-Systemen sowie Clean-, Onion- und hexagonale Architekturen.
Table of contents
- Cover
- Über den Autor
- Titel
- Impressum
- Geleitwort
- Vorwort zur 3. Auflage
- Vorwort zur 2. Auflage
- Vorwort zur 1. Auflage
- Inhaltsverzeichnis
-
1 Einleitung
- 1.1 Softwarearchitektur
- 1.2 Langlebigkeit
- 1.3 Technische Schulden
- 1.3.1 »Programmieren kann jeder!«
- 1.3.2 Komplexität und Größe
- 1.3.3 Die Architekturerosion steigt unbemerkt
- 1.3.4 Für Qualität bezahlen wir nicht extra!
- 1.3.5 Arten von technischen Schulden
- 1.4 Was ich mir alles anschauen durfte
- 1.5 Wer sollte dieses Buch lesen?
- 1.6 Wegweiser durch das Buch
- 2 Aufspüren von technischen Schulden
- 3 Architektur in Programmiersprachen
- 4 Architekturanalyse und -verbesserung
-
5 Kognitive Psychologie und Architekturprinzipien
- 5.1 Modularität
- 5.1.1 Chunking
- 5.1.2 Übertragung auf Entwurfsprinzipien
- 5.1.2.1 Einheiten
- 5.1.2.2 Schnittstellen
- 5.1.2.3 Kopplung
- 5.2 Musterkonsistenz
- 5.2.1 Aufbau von Schemata
- 5.2.2 Übertragung auf Entwurfsprinzipien
- 5.3 Hierarchisierung
- 5.3.1 Bildung von Hierarchien
- 5.3.2 Übertragung auf Entwurfsprinzipien
- 5.4 Zyklen = misslungene Modularität + Muster
- 5.5 Konsequenzen für die Architekturanalyse
-
6 Architekturstile gegen technische Schulden
- 6.1 Regeln von Architekturstilen
- 6.2 Trennung von fachlichen und technischen Bausteinen
- 6.3 Schichtenarchitekturen
- 6.3.1 Technische Schichtung
- 6.3.2 Fachliche Schichtung
- 6.3.3 Infrastrukturschicht
- 6.3.4 Integration von fachlichen Schichten
- 6.4 Hexagonal, Onion und Clean Architecture
- 6.5 Microservices und Domain-Driven Design
- 6.6 Mustersprachen
- 6.6.1 WAM-Mustersprache
- 6.6.2 DDD-Mustersprache
- 6.6.3 Typische Framework-Muster
- 6.7 Langlebigkeit und Architekturstile
-
7 Muster in Softwarearchitekturen
- 7.1 Abbildung der Soll-Architektur auf die Ist-Architektur
- 7.2 Die ideale Struktur: fachlich oder technisch?
- 7.3 Schnittstellen von Bausteinen
- 7.4 Interfaces – das architektonische Allheilmittel?
- 7.4.1 Die Basistherapie
- 7.4.2 Die Nebenwirkungen
- 7.4.3 Feldstudien am lebenden Patienten
- 7.4.4 Der Kampf mit dem Monolithen
- 7.5 Der Wunsch nach Microservices
- 7.5.1 Früh übt sich
- 7.5.2 Der Knackpunkt: das Domänenmodell
- 8 Mustersprachen – der architektonische Schatz!
-
9 Chaos in Schichten – der tägliche Schmerz
- 9.1 Bewertung des Durcheinanders
- 9.1.1 Ausmaß der Unordnung
- 9.1.1.1 Architekturstile und Zyklen
- 9.1.1.2 Programmzeilen in Zyklen
- 9.1.1.3 Dependency Injection und Zyklen
- 9.1.2 Umfang und Verflochtenheit
- 9.1.3 Reichweite in der Architektur
- 9.2 Das große Wirrwarr
- 9.2.1 Der Schwarze-Loch-Effekt
- 9.2.2 Der Befreiungsschlag
- 9.2.3 Technische Schichtung als Waffe
- 9.2.4 Mustersprache als Leuchtturm
- 9.3 Uneven Modules
- 10 Modularität schärfen
- 11 Geschichten aus der Praxis
- 12 Fazit: der Weg zu langlebigen Architekturen
- Anhang
- Literatur
- Fußnoten
- Index
Product information
- Title: Langlebige Software-Architekturen, 3rd Edition
- Author(s):
- Release date: December 2019
- Publisher(s): dpunkt
- ISBN: 9783864907296
You might also like
book
API-Design, 2nd Edition
Mit Schnittstellen zum Zwecke der Arbeitsteilung, Wiederverwendung oder beispielsweise zur Bildung einer modularen Architektur haben Entwickler …
book
Das DevOps-Handbuch, 2nd Edition
Mehr denn je ist das effektive Management der IT entscheidend für die Wettbewerbsfähigkeit von Organisationen. Viele …
book
Basiswissen für Softwarearchitekten, 4th Edition
Softwarearchitektur bildet einen wesentlichen Erfolgsfaktor für Softwareprojekte. Sie stellt im Sinne einer systematischen Konstruktion sicher, dass …
book
Basiswissen Medizinische Software, 3rd Edition
Das Basiswerk fur die Entwicklung von Software als Medizinprodukt