O'Reilly logo

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

Entwurfsmuster von Kopf bis Fubß

Book Description

Jetzt endlich in deutscher Sprache! Dieses Buch hat seit Erscheinen für Furore gesorgt. Mit dem einzigartigen Head First-Buchkonzept ist es den Autoren gelungen, das schwierige Thema "Entwurfsmuster" witzig, leicht verständlich und dennoch gründlich darzustellen. Entwurfsmuster beschreiben häufig auftretende,immer wiederkehrende Entwurfsprobleme in der Software-Entwicklung und stellen wieder verwendbare Lösungsmuster dar. Mit diesem Buch erschließen Sie sich das Thema auf eine neue, bisher nicht gekannte Weise. Jede Seite ist ein Kunstwerk für sich, mit vielen visuellen Überraschungen, originellen Comic-Zeichungen, witzigen Dialogen und geistreichen Selbstlernkontrollen. Sowohl für Entwickler als auch für Projektmanager ist diese Publikation unverzichtbar.

Table of Contents

  1. Copyright
  2. Dedication
  3. Wie man dieses Buch benutzt
  4. Einführung in Entwurfsmuster
    1. Alles begann mit einer simplen SimEnte-Anwendung
    2. Eike denkt über Vererbung nach
    3. Und wie wäre es mit einem Interface?
    4. Die eine Konstante bei der Software-Entwicklung
    5. Das, was veränderlich ist, von dem trennen, was gleich bleibt
    6. Entenverhalten entwerfen
    7. Den Enten-Code testen
    8. Verhalten dynamisch setzen
    9. Noch mal im Ganzen: Gekapseltes Verhalten
    10. HAT-EIN kann IST-EIN überlegen sein
    11. Da wir gerade von Entwurfsmustern sprechen ...
    12. Die Macht eines gemeinsamen Mustervokabulars
    13. Wie verwende ich Entwurfsmuster?
    14. Werkzeuge für Ihren Design-Werkzeugkasten
    15. Die Lösung des Design-Puzzles
  5. Das Observer-Muster
    1. Die Wetterstation-Anwendung im Überblick
    2. Gestatten: das Observer-Muster
    3. Herausgeber + Abonnenten = Observer-Muster
    4. Fünf-Minuten-Drama: ein Subjekt unter Beobachtung
    5. Die Definition des Observer-Musters
    6. Die Macht der lockeren Bindung
    7. Die Wetterstation entwerfen
    8. Die Wetterstation implementieren
    9. Javas eingebautes Observer-Muster verwenden
    10. Die dunkle Seite von java.util.Observable
    11. Werkzeuge für Ihren Design-Werkzeugkasten
    12. Lösungen zu den Übungen
  6. Das Decorator-Muster
    1. Willkommen bei Sternback-Kaffee
    2. Das Offen/Geschlossen-Prinzip
    3. Dürfen wir vorstellen: das Decorator-Muster!
    4. Ein Getränk mit Dekorierern aufbauen
    5. Die Definition des Decorator-Musters
    6. Gespräch im Büro
    7. Den Sternback-Code schreiben
    8. Dekorierer aus der Praxis: Java I/O
    9. Einen eigenen I/O-Dekorierer schreiben
    10. Werkzeuge für Ihren Design-Werkzeugkasten
    11. Lösungen zu den Übungen
  7. Das Factory-Muster
    1. Die Aspekte identifizieren, die veränderlich sind
    2. Die Objekt-Erstellung kapseln
    3. Eine einfache Pizzafabrik erstellen
    4. Die Definition der einfachen Fabrik
    5. Ein Framework für die Pizzeria
    6. Die Unterklassen entscheiden lassen
    7. Eröffnen wir also eine Pizzeria
    8. Eine Fabrikmethode deklarieren
    9. Jetzt ist es endlich Zeit, dem Factory Method-Muster zu begegnen
    10. Eine andere Perspektive: parallele Klassenhierarchien
    11. Die Definition des Factory Method-Musters
    12. Eine sehr abhängige Pizzeria
    13. Ein Blick auf Objekt-Abhängigkeiten
    14. Das Prinzip der Umkehrung der Abhängigkeiten
    15. Inzwischen in der Pizzeria
    16. Zutatenfamilien
    17. Die Zutatenfabriken aufbauen
    18. Was wir gemacht haben
    19. Die Definition des Abstract Factory-Musters
    20. Factory Method und Abstract Factory im Vergleich
    21. Werkzeuge für Ihren Design-Werkzeugkasten
    22. Lösungen zu den Übungen
  8. Das Singleton-Muster
    1. Das kleine Singleton
    2. Die klassische Implementierung des Singleton-Musters sezieren
    3. Interview der Woche: Geständnis eines Singletons
    4. Die Schokoladenfabrik
    5. Definition des Singleton-Musters
    6. Köln, wir haben ein Problem ...
    7. Spielen Sie JVM
    8. Mit Multithreading klarkommen
    9. Es gibt keine: Dummen Fragen
    10. Werkzeuge für Ihren Design-Werkzeugkasten
    11. Lösungen zu den Übungen
  9. Das Command-Muster
    1. Werfen wir einen Blick auf die Klassen der Hersteller
    2. Inzwischen im Restaurant
    3. Sehen wir uns das Zusammenspiel etwas gründlicher an
    4. Rollen und Verantwortlichkeiten im Restaurant Objekthausen
    5. Vom Restaurant zum Command-Muster
    6. Unser erstes Befehl-Objekt
    7. Die Definition des Command-Musters
    8. Den Fernsteuerungsplätzen Befehle zuweisen
    9. Die Fernbedienung implementieren
    10. Die Fernsteuerung in Gang setzen
    11. Zeit, diese Dokumentation zu schreiben
    12. Einen Status verwenden, um Rückgängig zu implementieren
    13. Jede Fernsteuerung braucht einen Party-Modus!
    14. Einen Makro-Befehl verwenden
    15. Weitere Verwendungen des Command-Musters: Warteschlangen für Befehle
    16. Weitere Verwendungen des Command-Musters: Anfragen protokollieren
    17. Werkzeuge für Ihren Design-Werkzeugkasten
    18. Lösungen zu den Übungen
  10. Die Adapter- und Facade-Muster
    1. Adapter, wo wir nur hinschauen
    2. Objektorientierte Adapter
    3. Das Adapter-Muster erklärt
    4. Die Definition des Adapter-Musters
    5. Objekt- und Klassen-Adapter
    6. Kamingespräche
    7. Adapter aus dem wirklichen Leben
    8. Einen Enumerator an einen Iterator anpassen
    9. Kamingespräche Heute Abend:Das Decorator-und das Adapter-Muster unterhalten sich über ihre Unterschiede.
    10. Gemütliches Heimkino
    11. Beleuchtung, Kamera, Fassade
    12. Die Heimkino-Fassade aufbauen
    13. Die Definition des Facade-Musters
    14. Das Prinzip der Verschwiegenheit
    15. Werkzeuge für Ihren Design-Werkzeugkasten
    16. Lösungen zu den Übungen
  11. Das Template Method-Muster
    1. Ein paar Kaffee- und Tee-Klassen (in Java) zusammenrühren
    2. Dürfte ich vielleicht Ihren Kaffee, Tee abstrahieren?
    3. Den Entwurf weiterentwickeln
    4. zubereitungsRezept() abstrahieren
    5. Was also haben wir gemacht?
    6. Dürfen wir vorstellen: das Template Method-Muster!
    7. Kochen wir doch mal etwas Tee ...
    8. Was hat uns das Template Method-Muster gebracht?
    9. Die Definition des Template Method-Musters
    10. Haken wir uns bei einer Template-Methode ein ...
    11. Den Hook verwenden
    12. Führen wir den Testlauf aus
    13. Das Hollywood-Prinzip
    14. Das Hollywood-Prinzip und das Template Method-Muster
    15. Template-Methoden im wirklichen Leben
    16. Mit dem Template Method-Muster sortieren
    17. Wir haben ein paar Enten, die sortiert werden müssen
    18. Enten mit Enten vergleichen
    19. Der Aufbau einer Enten-Sortiermaschine
    20. Swinging mit Frames
    21. Kamingespräche Template Method und Strategy
    22. Werkzeuge für Ihren Design-Werkzeugkasten
    23. Lösungen zu denÜbungen
  12. Die Iterator- und Composite-Muster
    1. Nachricht des Tages: Restaurant Objekthausen und Pfannkuchenhaus Objekthausen fusionieren
    2. Jupps und Wims Speisekarten-Implementierungen
    3. Können wir die Iteration kapseln?
    4. Darf ich vorstellen: das Iterator-Muster
    5. Der RestaurantSpeisekarte einen Iterator hinzufügen
    6. Blick auf den Entwurf
    7. Mit java.util.Iterator sauber machen
    8. Was bringt uns das?
    9. Die Definition des Iterator-Musters
    10. Eine einzige Verantwortlichkeit
    11. Iteratoren und Collections
    12. Iteratoren und Collections in Java 5
    13. Und gerade als wir dachten, alles wäre in trockenen Tüchern ...
    14. Die Definition des Composite-Musters
    15. Mit dem Composite-Muster Speisekarten entwerfen
    16. Die Komposita-Speisekarte implementieren
    17. Ein Rückblick auf Iterator
    18. Der Null-Iterator
    19. Die Magie von Iteratoren und Komposita zusammen
    20. Werkzeuge für Ihren Design-Werkzeugkasten
    21. Lösungen zu den Übungen
  13. Das State-Muster
    1. Wie implementieren wir einen Zustand?
    2. Einführungskurs »Zustandsautomaten«
    3. Den Code schreiben
    4. Das musste ja kommen ... eine Änderungsanfrage!
    5. ZUSTÄNDE wie bei Hempels unterm Sofa ...
    6. Definition des Zustands-Interface und der Zustandsklassen
    7. Implementierung unserer Zustandsklassen
    8. Umbau des Kaugummiautomaten
    9. Die Definition des State-Musters
    10. State und Strategy
    11. Stimmt alles?
    12. Das hätten wir beinahe vergessen!
    13. Werkzeuge für Ihren Design-Werkzeugkasten
    14. Lösungen zu den Übungen
  14. Das Proxy-Muster
    1. Kaugummiautomaten überwachen
    2. Die Rolle des »Remote-Proxy«
    3. Einführungskurs »Remote-Methoden«
    4. Zurück zu unserem Remote-Proxy für den Kaugummiautomaten
    5. Hinter den Kulissen
    6. Die Definition des Proxy-Musters
    7. Der virtuelle Proxy
    8. Entwurf des virtuellen Proxy für das CD-Cover
    9. Was haben wir gemacht?
    10. Die Erstellung eines Schutz-Proxy mit dem Proxy aus der Java-API
    11. Kurzdrama: Objektschutz
    12. Das große Ganze: Erzeugung eines -dynamischen Proxy für die PersonBean
    13. Der Proxy-Zoo
    14. Werkzeuge für Ihren Design-Werkzeugkasten
    15. Lösungen zu den Übungen
  15. Zusammengesetzte Muster
    1. Mustergültige Zusammenarbeit
    2. Ein Wiedersehen mit den Enten
    3. Einen Adapter hinzufügen
    4. Einen Decorator hinzufügen
    5. Eine Fabrik hinzufügen
    6. Jetzt noch das Composite-Muster und ein Iterator
    7. Zum Schluss noch ein Observer
    8. Was wir gemacht haben ...
    9. Aus der VogelEntenperspektive:das Klassendiagramm
    10. Der König der zusammengesetzten Muster
    11. Entwurfsmuster und MVC
    12. MVC, durch die Musterbrille betrachtet
    13. Mit MVC den Takt angeben ...
    14. Das Model
    15. Der View
    16. Nun zum Controller
    17. Strategy intensiv
    18. Anpassung des Models
    19. Jetzt sind wir bereit füreinen HerzController
    20. Das war's! Jetzt brauchen wir noch Testcode ...
    21. MVC und das Web
    22. Muster und Model 2
    23. Werkzeuge für Ihren Design-Werkzeugkasten
    24. Lösungen zu den Übungen
  16. Besser leben mit Mustern
    1. Der Objekthausener Leitfaden für ein besseres Leben mit Mustern
    2. Definition eines Entwurfsmusters
    3. Die Entwurfsmusterdefinition näher betrachtet
    4. Möge die Macht mit Ihnen sein!
    5. Musterkataloge
    6. Wie Muster auf die Welt kommen
    7. So, Sie möchten also selbst Entwurfsmuster schreiben?
    8. Ordnung in Entwurfsmuster bringen
    9. In Mustern denken
    10. Ihr Denken wird mustergültig
    11. Vergessen Sie nicht die Macht des gemeinsamen Vokabulars
    12. Die fünf besten Wege zu einem gemeinsamen Vokabular
    13. Eine Fahrt durch Objekthausen mit der Gang of Four
    14. Ihre Reise hat gerade erst begonnen ...
    15. Der Musterzoo
    16. Mit Antimustern gegen die Schlechtigkeit
    17. Werkzeuge für Ihren Design-Werkzeugkasten
    18. Abschied von Objekthausen ...
  17. Anhang
    1. Bridge-Muster
    2. Builder-Muster
    3. Chain of Responsibility-Muster
    4. Flyweight-Muster
    5. Interpreter-Muster
    6. Mediator-Muster
    7. Memento-Muster
    8. Prototype-Muster
    9. Visitor-Muster
  18. Kolophon