Entwurfsmuster von Kopf bis Fuß

Mit Design Patterns flexible objektorientierte Software erstellen

Eric Freeman, Elisabeth Robson, Kathy Sierra und Bert Bates

Diese Publikation zitieren

Eric Freeman, Elisabeth Robson, Kathy Sierra, Bert Bates, Entwurfsmuster von Kopf bis Fuß (2021), O'Reilly Verlag, Heidelberg, ISBN: 9783960105039

9592
Accesses
133
Quotes

Beschreibung / Abstract


Jetzt aktualisiert und erweitert: das Standardwerk zu Entwurfsmustern



  • »Dieses Buch vereint Spaß, herzhaftes Lachen, profundes technisches Verständnis und geniale Praxistipps zu einem denkwürdigen Lesegenuss.« Richard Helm, Gang of Four

  • Softwareentwickler wollen das Rad nicht neu erfinden: Mit Entwurfsmustern können Sie von den Erfahrungen und Best Practices anderer profitieren

  • Die Design Patterns werden detailliert und verständlich erklärt, inklusive Herleitung und geeigneten Anwendungsfällen



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 Softwaredesigns meistern können.

Beschreibung

Eric Freeman ist Informatiker, Technologieautor, Unternehmer und ehemaliger CTO der Walt Disney Company. Er hat einen Doktortitel in Informatik von der Yale University. Aktuell ist er Kodirektor der Head-First-Reihe, die in Deutschland als Von-Kopf-bis-Fuß-Reihe bekannt ist. Bei der von ihm mitgegründeten Online-Lernplattform WickedlySmart widmet er seine Zeit der Erstellung von Print- und Video-Inhalten, die über die führenden Bildungskanäle vertrieben werden. Eric lebt in Austin, Texas.

Elisabeth Robson ist Softwareentwicklerin, Autorin und IT-Trainerin. Seit ihren Studententagen an der Yale University, wo sie ihren Master in Informatik erworben hat, ist sie mit Leib und Seele Informatikerin. Sie ist Mitbegründerin von WickedlySmart, einer Online-Lernplattform für Softwareentwickler:innen, für die sie Bücher, Artikel und Videos erstellt. Zuvor hat sie als Director of Special Projects bei O'Reilly Media Präsenz-Workshops und Onlinekurse zu einer Vielzahl von technischen Themen gestaltet.

Inhaltsverzeichnis

  • BEGINN
  • Die Autor:innen
  • Inhaltsverzeichnis
  • Einführung
  • Für wen ist dieses Buch?
  • Wir wissen, was Sie gerade denken
  • Metakognition: Nachdenken übers Denken
  • Lies mich
  • Fachgutachter
  • Fachgutachter, zweite Auflage
  • Danksagungen
  • 1 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 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 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 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 von 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 Das Singleton-Muster
  • Die Implementierung des klassischen Singleton-Musters im Detail
  • Die Schokoladenfabrik
  • Definition des Singleton-Musters
  • Houston, wir haben ein Problem ...
  • Mit Multithreading umgehen
  • Können wir das Multithreading verbessern?
  • Inzwischen in der Schokoladenfabrik ...
  • Werkzeuge für Ihren Entwurfs-Werkzeugkasten
  • 6 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 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 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 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 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 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 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 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
  • Denk-Muster
  • 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
  • Bridge
  • Builder
  • Chain of Responsibility
  • Flyweight
  • Interpreter
  • Mediator
  • Memento
  • Prototype
  • Visitor
  • Index

Mehr von dieser Serie

    Ähnliche Titel

      Mehr von diesem Autor