Book description
Das Praxis-Handbuch für gutes Softwaredesign- Praktische Lösungen für die Ausgestaltung guter Softwarearchitekturen von dem legendären Softwareexperten Robert C. Martin
- Allgemeingültige Regeln für die Verbesserung der Produktivität der Softwareentwicklung über den gesamten Lebenszyklus
- Wie Softwareentwickler wesentliche Prinzipien des Softwaredesigns meistern, warum Softwarearchitekturen häufig scheitern und wie man solche Fehlschläge verhindern kann
Durch die Anwendung allgemeingültiger Regeln der Softwarearchitektur können Sie die Produktivität der Softwareentwicklung über gesamten Lebenszyklus eines beliebigen Softwaresystems enorm verbessern. Nach seinen Bestseller-Erfolgen Clean Code und The Clean Coder blickt der legendäre amerikanische Softwareexperte Robert C. Martin (»Uncle Bob«) in seinem jüngsten Werk hinter die Kulissen dieser Regeln und bietet Ihnen wertvolle Hilfestellung für deren Umsetzung in der Praxis.
Dabei werden in Clean Architecture jedoch nicht bloß die verschiedenen zur Verfügung stehenden Möglichkeiten vorgestellt. Darüber hinaus lässt Sie Martin auch an seiner mehr als 50-jährigen professionellen Erfahrung mit Softwareumgebungen jeder erdenklichen Art teilhaben, um Ihnen aufzuzeigen, welche wichtigen Entscheidungen Sie treffen müssen und warum diese für Ihren Erfolg eine ausschlaggebende Rolle spielen. Wie man es von »Uncle Bob« erwarten kann, beschreibt auch dieses Buch geradlinige, zielführende Lösungen für die realen Herausforderungen, mit denen Sie sich konfrontiert sehen werden – eben genau diejenigen, die für den Erfolg oder Misserfolg Ihrer Projekte maßgeblich sind.
Sie erfahren,
- was Softwarearchitekten erreichen müssen – und welche Kerndisziplinen und -praktiken dafür erforderlich sind,
- wie Sie die wesentlichen Prinzipien des Softwaredesigns in Bezug auf die Funktionalität, die Komponententrennung und das Datenmanagement meistern,
- inwieweit Programmierparadigmen die Arbeit der Softwareentwickler einer Disziplin unterwerfen, die ihre Handlungsspielräume einschränkt,
- welche architektonischen Aspekte von entscheidender Bedeutung und welche eher unwesentliche »Details« sind,
- wie Sie optimale übergeordnete Strukturen für das Web, Datenbanken, Fat Clients, Konsolen und eingebettete Anwendungen implementieren,
- wie Sie geeignete Grenzen und Layer definieren sowie Komponenten und Services organisieren,
- warum Softwaredesigns und -architekturen scheitern und wie man solchen Fehlschlägen vorbeugen (oder auch beheben) kann.
Clean Architecture ist eine Pflichtlektüre für alle aktiven und angehenden Softwarearchitekten, Systemanalytiker, Systementwickler und Softwaremanager – und für jeden Programmierer, der die Designs eines anderen ausführen muss.
Über den Autor
Robert C. Martin (»Uncle Bob«) ist bereits seit 1970 als Programmierer tätig. Neben seiner Beraterfirma Uncle Bob Consulting, LLC gründete er gemeinsam mit seinem Sohn Micah Martin auch das Unternehmen The Clean Coders, LLC. Er hat zahlreiche Artikel in verschiedenen Zeitschriften veröffentlicht und hält regelmäßig Vorträge auf internationalen Konferenzen.
Table of contents
- Impressum
- Vorwort
- Einleitung
- Über den Autor
- Danksagung
- Teil I: Einführung
- Kapitel 1: Was bedeuten »Design« und »Architektur«?
- Kapitel 2: Die Geschichte zweier Werte
- Teil II: Die ersten Bausteine setzen: Programmierparadigmen
- Kapitel 3: Die Paradigmen
- Kapitel 4: Strukturierte Programmierung
- Kapitel 5: Objektorientierte Programmierung
- Kapitel 6: Funktionale Programmierung
- Teil III: Designprinzipien
- Kapitel 7: SRP: Das Single-Responsibility-Prinzip
- Kapitel 8: OCP: Das Open-Closed-Prinzip
- Kapitel 9: LSP: Das Liskov’sche Substitutionsprinzip
- Kapitel 10: ISP: Das Interface-Segregation-Prinzip
- Kapitel 11: DIP: Das Dependency-Inversion-Prinzip
- Teil IV: Komponentenprinzipien
- Kapitel 12: Komponenten
- Kapitel 13: Komponentenkohäsion
-
Kapitel 14: Komponentenkopplung
- 14.1 ADP: Das Acyclic-Dependencies-Prinzip
- 14.2 Top-down-Design
- 14.3 SDP: Das Stable-Dependencies-Prinzip
-
14.4 SAP: Das Stable-Abstractions-Prinzip
- 14.4.1 Wo werden die übergeordneten Richtlinien hinterlegt?
- 14.4.2 Einführung in das SAP (Stable-Abstractions-Prinzip)
- 14.4.3 Bemessung der Abstraktion
- 14.4.4 Die Hauptreihe
- 14.4.5 Die »Zone of Pain«
- 14.4.6 Die »Zone of Uselessness«
- 14.4.7 Die Ausschlusszonen vermeiden
- 14.4.8 Abstand von der Hauptreihe
- 14.5 Fazit
- Teil V: Softwarearchitektur
- Kapitel 15: Was ist Softwarearchitektur?
-
Kapitel 16: Unabhängigkeit
- 16.1 Use Cases
- 16.2 Betrieb
- 16.3 Entwicklung
- 16.4 Deployment
- 16.5 Optionen offenhalten
- 16.6 Layer entkoppeln
- 16.7 Use Cases entkoppeln
- 16.8 Entkopplungsmodi
- 16.9 Unabhängige Entwickelbarkeit
- 16.10 Unabhängige Deploybarkeit
- 16.11 Duplizierung
- 16.12 Entkopplungsmodi (zum Zweiten)
- 16.13 Fazit
- Kapitel 17: Grenzen: Linien ziehen
- Kapitel 18: Anatomie der Grenzen
- Kapitel 19: Richtlinien und Ebenen
- Kapitel 20: Geschäftsregeln
- Kapitel 21: Die schreiende Softwarearchitektur
- Kapitel 22: Die saubere Architektur
- Kapitel 23: Presenters und »Humble Objects«
- Kapitel 24: Partielle Grenzen
- Kapitel 25: Layer und Grenzen
- Kapitel 26: Die Komponente Main
- Kapitel 27: Services – große und kleine
- Kapitel 28: Die Testgrenze
- Kapitel 29: Saubere eingebettete Architektur
- Teil VI: Details
- Kapitel 30: Die Datenbank ist ein Detail
- Kapitel 31: Das Web ist ein Detail
- Kapitel 32: Ein Framework ist ein Detail
- Kapitel 33: Fallstudie: Software für den Verkauf von Videos
- Kapitel 34: Das fehlende Kapitel
-
Anhang A: Architekturarchäologie
- A.1 Das Buchhaltungssystem für die Gewerkschaft
- A.2 Zurechtschneiden mit dem Laser
- A.3 Monitoring von Aluminiumspritzguss
- A.4 4-TEL
- A.5 Die Programmiersprache C
- A.6 BOSS
- A.7 Projekt CCU
- A.8 DLU/DRU
- A.9 VRS
- A.10 Der Elektronische Rezeptionist
- A.11 Craft Dispatch System
- A.12 Clear Communications
- A.13 ROSE
- A.14 Prüfung zum eingetragenen Architekten
- A.15 Fazit
- Anhang B: Nachwort
Product information
- Title: PR: Clean Architecture - Das Praxis-Handbuch für gutes Softwaredesign
- Author(s):
- Release date: February 2018
- Publisher(s): mitp Verlag
- ISBN: 9783958457263