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