Читать книгу API-Design - Kai Spichale - Страница 8
Inhaltsverzeichnis
Оглавление1Application Programming Interfaces – eine Einführung
1.1Eine kurze Geschichte der APIs
1.7Welche Strategien verfolgen Unternehmen mit APIs?
2.1Allgemeine Qualitätsmerkmale
2.2.4Einprägsam und leicht zu lernen
2.2.6Schwer falsch zu benutzen
3Allgemeines Vorgehen beim API-Design
3.3Anforderungen herausarbeiten
3.4Wenn Use Cases nicht ausreichen
3.5Entwurf mit Szenarien und Codebeispielen
5.2Effektiver Einsatz von Typen
5.2.1Semantischen Vertrag minimieren
5.2.2Semantische Verletzung der Datenkapselung vermeiden
5.2.3Werden Namen überschätzt?
5.3Techniken für Objektkollaboration
5.7.3Verwendung der Klasse java.util.Optional
5.8.2Checked Exception versus Unchecked Exception
5.8.4Dokumentation von Exceptions
5.8.5Vermeidung von Exceptions
5.9.2Statische Factory-Methode
5.9.3Builder mit Fluent Interface
5.9.4Praktische Anwendung der Erzeugungsmuster
5.10.1Ansätze zum Einsatz von Vererbung
5.10.2Stolperfallen bei Vererbung
5.10.3Bedeutung für API-Design
5.11.2Unterstützung für nicht triviale Interfaces
5.11.3Markierungsschnittstellen
6Fortgeschrittene Techniken für Java-APIs
6.1.2Schachteln versus Verketten
6.1.3Fluent Interface von jOOQ
6.1.4Ist der Aufwand gerechtfertigt?
6.4.1Auswertung zum Kompilierzeitpunkt
6.6.5Automatische Überprüfung mit dem Mutability Detector
6.6.6Codegenerierung mit Immutables
6.7.3Was bedeutet Thread-Sicherheit?
7.1.3Funktionale Kompatibilität
7.4.4Spezialisierung von Rückgabetypen
7.4.5Generalisierung von Parametertypen
7.4.8Statische Methoden und Konstanten
7.5Praktische Techniken für API-Änderungen
8.3Ressourcen – die zentralen Bausteine
9.1Anwendungsbeispiel: Onlineshop
9.5.1Daten- und Sprachversionierung
9.5.2Kompatibilität und Perspektive
10.3Entwurfsansätze und -muster
11.1Routenplanung für Lkw-Transporte (Teil 1)
11.5Routenplanung für Lkw-Transporte (Teil 2)
11.6Transaktionen und garantierte Nachrichtenzustellung
11.7Asynchrone Verarbeitung und REST
12.5Dokumentation von Java-APIs
12.6Dokumentation von Web-APIs
13.4Cache-Strategien für Schreibzugriffe
13.5Cache-Topologien für Webanwendungen
14.5Skalierung von Datenbanken
14.6Skalierung von Messaging-Systemen
15Erweiterte Architekturthemen
15.3Vernachlässigte Frontend-Architektur
16.2Funktionen einer API-Management-Plattform