Log In
Or create an account ->
Imperial Library
Home
About
News
Upload
Forum
Help
Login/SignUp
Index
Cover
Titel
Impressum
Widmung
Die Autor:innen
Inhaltsverzeichnis
Einführung
Für wen ist dieses Buch?
Wir wissen, was Sie gerade denken
Und wir wissen, was Ihr Gehirn gerade denkt
Metakognition: Nachdenken übers Denken
Machen Sie sich Ihr Hirn untertan
Fachgutachter
Danksagungen
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
Bridge
Builder
Chain of Responsibility
Flyweight
Interpreter
Mediator
Memento
Prototype
Visitor
Index
← Prev
Back
Next →
← Prev
Back
Next →