Entwurfsmuster von Kopf bis Fuß, 2nd Edition

Book description

Dieses Buch ist ein moderner Klassiker zum Thema Entwurfsmuster. Mit dem einzigartigen Von-Kopf-bis-Fuß-Lernkonzept gelingt es den Autoren, die anspruchsvolle Materie witzig, leicht verständlich und dennoch gründlich darzustellen. Jede Seite ist ein Kunstwerk für sich, mit vielen visuellen Überraschungen, originellen Comic-Zeichnungen, humorvollen Dialogen und geistreichen Selbstlernkontrollen. Spätestens, wenn es heißt »Spitzen Sie Ihren Bleistift«, wird Leser*innen klar, dass bei diesem Buch Mitmachen gefragt ist.

Das ist nicht nur unterhaltsam, sondern auch effektiv: Komplexe Sachverhalte lassen sich nach Erkenntnis der modernen Lernwissenschaft am gründlichsten über mehrere verschiedene Kanäle verstehen. Das Buch verspricht Ihnen daher nicht nur Spaß beim Lernen, Sie werden nach der Lektüre auch die Herausforderungen des Software-Designs meistern können.

Table of contents

  1. Cover
  2. Titel
  3. Impressum
  4. Widmung
  5. Die Autor:innen
  6. Inhaltsverzeichnis
  7. Einführung
    1. Für wen ist dieses Buch?
    2. Wir wissen, was Sie gerade denken
    3. Und wir wissen, was Ihr Gehirn gerade denkt
    4. Metakognition: Nachdenken übers Denken
    5. Machen Sie sich Ihr Hirn untertan
    6. Fachgutachter
    7. Danksagungen
  8. 1 Willkommen bei den Entwurfsmustern: Einführung in Entwurfsmuster
    1. Es begann mit einer einfachen SimUDuck-App
    2. Aber jetzt sollen die Enten FLIEGEN können
    3. Aber irgendetwas ging furchtbar schief …
    4. Joe denkt über Vererbung nach …
    5. Wie wäre es mit einem Interface?
    6. Was würden Sie an Joes Stelle tun?
    7. Die einzige Konstante in der Softwareentwicklung
    8. Das Problem eingrenzen
    9. Veränderliches und Unveränderliches voneinander trennen
    10. Das Entenverhalten entwerfen
    11. Das Entenverhalten implementieren
    12. Das Entenverhalten integrieren
    13. Den Entencode testen
    14. Verhalten dynamisch festlegen
    15. Das große Ganze: Verkapseltes Verhalten
    16. HAT-EIN ist besser als IST-EIN
    17. Da wir gerade von Entwurfsmustern sprechen …
    18. Im Bistro um die Ecke aufgeschnappt …
    19. Im Büro nebenan aufgeschnappt …
    20. Die Stärke eines gemeinsamen Mustervokabulars
    21. Wie setze ich Entwurfsmuster ein?
    22. Werkzeuge für Ihren Entwurfs-Werkzeugkasten
  9. 2 Ihre Objekte auf dem Laufenden halten: Das Observer-Muster
    1. Die Wetterstation im Überblick
    2. Willkommen zum Observer-Muster
    3. Herausgeber + Abonnenten = Observer-Muster
    4. Die Observer-Muster-Definition
    5. Die Macht der losen Kopplung
    6. Die Wetterstation entwerfen
    7. Die Wetterstation implementieren
    8. Die Wetterstation hochfahren
    9. Das Observer-Muster in freier Wildbahn
    10. Die lebensverändernde Applikation programmieren
    11. Inzwischen bei Weather-O-Rama
    12. Probefahrt für den neuen Code
    13. Werkzeuge für Ihren Entwurfs-Werkzeugkasten
    14. Die Entwurfsprinzipien-Challenge
  10. 3 Objekte dekorieren: Das Decorator-Muster
    1. Willkommen bei Starbuzz Coffee
    2. Das Offen/Geschlossen-Prinzip
    3. Wir stellen vor: das Decorator-Muster
    4. Eine Getränkebestellung mit Dekoratoren aufbauen
    5. Die Definition des Decorator-Musters
    6. Unsere Getränke dekorieren
    7. Den Starbuzz-Code schreiben
    8. Getränke programmieren
    9. Zutaten programmieren
    10. Den Kaffee servieren
    11. Dekoratoren in freier Wildbahn: Java I/O
    12. Die java.io-Klassen dekorieren
    13. Einen eigenen Java-I/O-Dekorator schreiben
    14. Unseren neuen Java-I/O-Dekorator testen
    15. Werkzeuge für Ihren Entwurfs-Werkzeugkasten
  11. 4 In der OO-Bäckerei …: Das Factory-Muster
    1. Das Veränderliche finden
    2. Die Objekterstellung verkapseln
    3. Eine einfache Pizzafabrik erstellen
    4. Die einfache Fabrik definieren
    5. Ein Framework für die Pizzeria
    6. Den Subklassen die Entscheidung überlassen
    7. Eine Fabrikmethode deklarieren
    8. Jetzt ist es endlich Zeit, das Factory Method-Muster kennenzulernen
    9. Ein paralleler Blick auf Hersteller und Produkte
    10. Die Definition des Factory Method-Musters
    11. Ein Blick auf Objektabhängigkeiten
    12. Das Prinzip der Umkehrung der Abhängigkeiten
    13. Das Prinzip anwenden
    14. Zutatenfamilien
    15. Die Zutatenfabriken bauen
    16. Die Pizzas überarbeiten …
    17. Unsere Pizzerien überarbeiten
    18. Was haben wir getan?
    19. Die Definition des Abstract Factory-Musters
    20. Factory Method und Abstract Factory im Vergleich
    21. Werkzeuge für Ihren Entwurfs-Werkzeugkasten
  12. 5 Einmalige Objekte: Das Singleton-Muster
    1. Die Implementierung des klassischen Singleton-Musters im Detail
    2. Die Schokoladenfabrik
    3. Definition des Singleton-Musters
    4. Brüssel, wir haben ein Problem …
    5. Mit Multithreading umgehen
    6. Können wir das Multithreading verbessern?
    7. Inzwischen in der Schokoladenfabrik …
    8. Werkzeuge für Ihren Entwurfs-Werkzeugkasten
  13. 6 Aufrufe verkapseln: Das Command-Muster
    1. Ein Blick auf die Drittherstellerklassen
    2. Inzwischen im Bistro …
    3. Vom Bistro zum Command-Muster
    4. Unser erstes Command-Objekt
    5. Das Command-Objekt verwenden
    6. Befehle den Plätzen zuweisen
    7. Die Fernsteuerung implementieren
    8. Die Befehle implementieren
    9. Die Fernsteuerung auf Herz und Nieren testen
    10. Zeit für die Dokumentation …
    11. Was machen wir hier?
    12. Zeit, den Rückgängig-Knopf auf seine Qualität zu testen!
    13. Zustände für die Implementierung der »Rückgängig«-Funktion verwenden
    14. Die Deckenventilator-Befehle mit einer »Rückgängig«-Funktion versehen
    15. Jede Fernsteuerung braucht einen Partymodus!
    16. Einen Makro-Befehl benutzen
    17. Viele Verwendungsmöglichkeiten für das Command-Muster: Warteschlangen für Befehle
    18. Weitere Anwendungen des Command-Musters: Aufträge protokollieren
    19. Das Command-Muster in der wahren Welt
    20. Werkzeuge für Ihren Entwurfs-Werkzeugkasten
  14. 7 Anpassungsfähigkeit beweisen: Die Adapter- und Facade-Muster
    1. Überall Adapter
    2. Objektorientierte Adapter
    3. Probelauf für den Adapter
    4. Das Adapter-Muster erklärt
    5. Die Definition des Adapter-Musters
    6. Objekt- und Klassen-Adapter
    7. Adapter im echten Leben
    8. Einen Enumerator an einen Iterator anpassen
    9. Unser eigenes Heimkino
    10. Einen Film ansehen (auf die harte Tour)
    11. Licht, Kamera, Facade!
    12. Die Heimkino-Facade konstruieren
    13. Die vereinfachte Schnittstelle implementieren
    14. Einen Film anschauen (auf die sanfte Tour)
    15. Die Definition des Facade-Musters
    16. Das Prinzip der Verschwiegenheit
    17. Wie man KEINE Freunde gewinnt und KEINE Objekte beeinflusst
    18. Das Facade-Muster und das Prinzip der Verschwiegenheit
    19. Werkzeuge für Ihren Entwurfs-Werkzeugkasten
  15. 8 Algorithmen verkapseln: Das Template Method-Muster
    1. Zeit für mehr Koffein
    2. Ein paar Kaffee- und Tee-Klassen zusammenrühren (in Java)
    3. Kaffee und Tee abstrahieren
    4. Das Design verbessern
    5. prepareRecipe() abstrahieren
    6. Was haben wir getan?
    7. Willkommen beim Template Method-Muster
    8. Was hat uns das Template Method-Muster gebracht?
    9. Die Definition des Template Method-Musters
    10. Eingehängt in die Template Method …
    11. Den Hook verwenden
    12. Das Hollywood-Prinzip und das Template Method-Muster
    13. Template-Methoden in freier Wildbahn
    14. Mit dem Template Method-Muster sortieren
    15. Was ist compareTo()?
    16. Enten mit Enten vergleichen
    17. Ein paar Enten sortieren
    18. Das Making-of der Entensortiermaschine
    19. Swinging mit Frames
    20. Eigene Listen mit AbstractList
    21. Werkzeuge für Ihren Entwurfs-Werkzeugkasten
  16. 9 Erfolgreiche Collections: Die Iterator- und Composite-Muster
    1. Große Neuigkeiten: Das Restaurant und das Pfannkuchenhaus von Objectville fusionieren
    2. Sehen wir uns die Gerichte an
    3. Die Spezifikation implementieren: unser erster Versuch
    4. Können wir die Iteration verkapseln?
    5. Willkommen zum Iterator-Muster
    6. DinerMenu mit einem Iterator versehen
    7. Die Restaurant-Speisekarte mit einem Iterator überarbeiten
    8. Den Kellnerin-Code aufmöbeln
    9. Den Code testen
    10. Unser aktueller Entwurf auf dem Prüfstand …
    11. Aufräumen mit java.util.Iterator
    12. Die Definition des Iterator-Musters
    13. Die Struktur des Iterator-Musters
    14. Das Prinzip der einzelnen Verantwortlichkeit
    15. Willkommen zu Javas Iterable-Interface
    16. Javas erweiterte for-Schleife
    17. Ein Blick auf die Speisekarte des Cafés
    18. Iteratoren und Collections
    19. Die Definition des Composite-Musters
    20. Speisekarten mit dem Composite-Muster entwerfen
    21. MenuComponent implementieren
    22. Das Gericht (MenuItem) implementieren
    23. Die Komposita-Speisekarte implementieren
    24. Werkzeuge für Ihren Entwurfs-Werkzeugkasten
  17. 10 Der (Zu-)Stand der Dinge: Das State-Muster
    1. Ein echter Java-Plombenzieher
    2. Kurze Einführung in Zustandsautomaten
    3. Den Code schreiben
    4. Interner Testlauf
    5. Sie haben es geahnt – ein Änderungswunsch!
    6. ZUSTÄNDE wie bei Hempels unterm Sofa …
    7. Der neue Entwurf
    8. Das Interface State und die Klassen definieren
    9. Umbau des Kaugummiautomaten
    10. Ein Blick auf die komplette Klasse GumballMachine …
    11. Weitere Zustände implementieren
    12. Die Definition des State-Musters
    13. Wir müssen uns wieder dem 1-von-10-Kaugummispiel widmen
    14. Das Spiel fertigstellen
    15. Demo für den CEO von Mighty Gumball, Inc.
    16. Stimmt alles?
    17. Das haben wir fast vergessen!
    18. Werkzeuge für Ihren Entwurfs-Werkzeugkasten
  18. 11 Objektzugriff kontrollieren: Das Proxy-Muster
    1. Den Überwachungscode schreiben
    2. Den Überwachungscode testen
    3. Einführung in entfernte Methodenaufrufe
    4. Den Kaugummiautomaten (GumballMachine) als entfernten Dienst einrichten
    5. Bei der RMI-Registry anmelden …
    6. Die Definition des Proxy-Musters
    7. Bereitmachen für den virtuellen Proxy
    8. Den virtuellen Proxy für die Albencover entwerfen
    9. Den Bild-Proxy schreiben
    10. Partnervermittlung für Geeks in Objectville
    11. Die Person implementieren
    12. Fünf-Minuten-Drama: Subjekte schützen
    13. Das große Ganze: Einen dynamischen Proxy für Person erstellen
    14. Der Proxy-Zoo
    15. Werkzeuge für Ihren Entwurfs-Werkzeugkasten
    16. Der Code für den Albumcover-Viewer
  19. 12 Muster von Mustern: Zusammengesetzte Muster
    1. Mustergültige Zusammenarbeit
    2. Ein Wiedersehen mit den Enten
    3. Was haben wir getan?
    4. Ein Blick aus der VogelEntenperspektive: das Klassendiagramm
    5. Der König der zusammengesetzten Muster
    6. Willkommen zu Model-View-Controller
    7. Genauer hingesehen …
    8. MVC als eine Reihe von Mustern verstehen
    9. MVC, um den Beat zu steuern
    10. Erstellung der Einzelteile
    11. Ein Blick auf die konkrete Klasse BeatModel
    12. Der View
    13. Den View implementieren
    14. Und damit zum Controller
    15. Die Einzelteile zusammensetzen …
    16. Strategy erforschen
    17. Das Model adaptieren
    18. Noch ein Probelauf …
    19. Werkzeuge für Ihren Entwurfs-Werkzeugkasten
  20. 13 Muster in der wahren Welt: Schöner leben mit Mustern
    1. Definition von Entwurfsmustern
    2. Ein genauerer Blick auf die Entwurfsmusterdefinition
    3. Möge die Macht mit Ihnen sein
    4. Sie wollen also eigene Entwurfsmuster schreiben
    5. Entwurfsmuster ordnen
    6. In Mustern denken
    7. Denk-Muster
    8. Vergessen Sie nicht die Macht des gemeinsamen Vokabulars
    9. Spritztour durch Objectville mit der Gang of Four
    10. Ihre Reise hat gerade erst begonnen!
    11. Der Muster-Zoo
    12. Mit Anti-Mustern das Böse auslöschen
    13. Werkzeuge für Ihren Entwurfs-Werkzeugkasten
    14. Abschied von Objectville …
  21. 14 Anhang: Übrig gebliebene Muster
    1. Bridge
    2. Builder
    3. Chain of Responsibility
    4. Flyweight
    5. Interpreter
    6. Mediator
    7. Memento
    8. Prototype
    9. Visitor
  22. Index

Product information

  • Title: Entwurfsmuster von Kopf bis Fuß, 2nd Edition
  • Author(s): Eric Freeman, Elisabeth Robson, Kathy Sierra, Bert Bates
  • Release date: November 2021
  • Publisher(s): dpunkt
  • ISBN: 9783960091622