Book description
Entwurfsmuster als Elemente wiederverwendbarer objektorientierter Software
- Der Bestseller von Gamma und Co. in komplett neuer Übersetzung
- Der Klassiker für alle Programmierer
- Das Standardwerk für die objektorientierte Softwareentwicklung
Mit Design Patterns lassen sich wiederkehrende Aufgaben in der objektorientierten Softwareentwicklung effektiv lösen. Die Autoren stellen einen Katalog einfacher und prägnanter Lösungen für häufig auftretende Aufgabenstellungen vor. Mit diesen 23 Patterns können Softwareentwickler flexiblere, elegantere und vor allem auch wiederverwendbare Designs erstellen, ohne die Lösungen jedes Mal aufs Neue selbst entwickeln zu müssen.
Die Autoren beschreiben zunächst, was Patterns eigentlich sind und wie sie sich beim Design objektorientierter Software einsetzen lassen. Danach werden die stets wiederkehrenden Designs systematisch benannt, erläutert, beurteilt und katalogisiert. Mit diesem Leitfaden lernen Sie, wie sich diese wichtigen Patterns in den Softwareentwicklungsprozess einfügen und wie sie zur Lösung Ihrer eigenen Designprobleme am besten eingesetzt werden.
Bei jedem Pattern ist angegeben, in welchem Kontext es besonders geeignet ist und welche Konsequenzen und Kompromisse sich aus der Verwendung des Patterns im Rahmen des Gesamtdesigns ergeben. Sämtliche Patterns entstammen echten Anwendungen und beruhen auf tatsächlich existierenden Vorbildern. Außerdem ist jedes Pattern mit Codebeispielen versehen, die demonstrieren, wie es in objektorientierten Programmiersprachen wie C++ oder Smalltalk implementiert werden kann. Das Buch eignet sich nicht nur als Lehrbuch, sondern auch hervorragend als Nachschlagewerk und Referenz und erleichtert so auch besonders die Zusammenarbeit im Team.
Aus dem Inhalt:
- Einführung
- Fallstudie
- Erzeugungsmuster
- Abstract Factory
- Builder
- Factory Method
- Prototype
- Singleton
- Strukturmuster
- Adapter
- Bridge
- Composite
- Decorator
- Facade
- Flyweight
- Proxy
- Verhaltensmuster
- Chain of Responsibility
- Command
- Interpreter
- Iterator
- Mediator
- Memento
- Observer
- State
- Strategy
- Template Method
- Visitor
Über die Autoren:
Die Autoren sind auf dem Gebiet der objektorientierten Programmierung international anerkannte Experten.
Dr. Erich Gamma war maßgeblich an der Entstehung der integrierten Entwicklungsumgebung Eclipse beteiligt und leitet seit 2011 bei der Microsoft Corporation in Zürich ein Team, das die Produktion der Entwicklungsumgebung Microsoft Visual Studio unterstützt.
Dr. Richard Helm wurde 2005 mit dem ACM Programming Languages Award ausgezeichnet. Heute ist er Partner und Managing Director der Boston Consulting Group in Sydney.
Dr. Ralph Johnson ist Professor des Fachbereichs Informatik der Universität von Illinois in Urbana und Champaign.
Dr. John Vlissides (†2005) forschte am IBM Thomas J. Watson Research Center in Hawthorne, New York.
»Für Designer und Entwickler objektorientierter Software ist dieses Buch von großer Bedeutung! Design Patterns stellt einen geordneten Katalog bewährter Entwurfsmus-ter zur Strukturierung, Erstellung und Manipulation von Objekten vor. Am wichtigsten ist jedoch, dass die verschiedenen Design Patterns eindeutige Bezeichnungen erhalten, die ein gemeinsames Vokabular für die Arbeit im Team bereitstellen.«
- Rebecca J. Wirfs-Brock, Director, Object-Technology Services, Digitalk
»Design Patterns beendet die Debatte um die Wiederverwendung von Code und zeigt das entscheidende Element der Wiederverwendbarkeit von Software auf: wiederverwendbares Design. Sie werden feststellen, dass Sie diese Patterns im Nu in Ihren eigenen Designs einsetzen und wiederverwenden.«
- Steve Vinoski, Software Architect
Table of contents
- Impressum
- Vorwort
- Geleitwort von Grady Booch
- Einleitung
-
Kapitel 1: Einführung
- 1.1 Was ist ein Design Pattern?
- 1.2 Design Patterns im Smalltalk MVC
- 1.3 Beschreibung der Design Patterns
- 1.4 Der Design-Patterns-Katalog
- 1.5 Aufbau des Katalogs
-
1.6 Die Anwendung von Design Patterns zur Behebung von Designproblemen
- 1.6.1 Passende Objekte finden
- 1.6.2 Objektgranularität bestimmen
- 1.6.3 Objektschnittstellen spezifizieren
- 1.6.4 Objektimplementierungen spezifizieren
- 1.6.5 Wiederverwendungsmechanismen einsetzen
- 1.6.6 Strukturen der Laufzeit und beim Kompilieren abstimmen
- 1.6.7 Designänderungen berücksichtigen
- 1.7 Auswahl eines Design Patterns
- 1.8 Anwendung eines Design Patterns
-
Kapitel 2: Fallstudie: Erstellung eines Texteditors
- 2.1 Designprobleme
- 2.2 Dokumentstruktur
- 2.3 Formatierung
- 2.4 Ausgestaltung der Benutzeroberfläche
- 2.5 Unterstützung mehrerer Look-and-Feel-Standards
- 2.6 Unterstützung mehrerer Fenstersysteme
- 2.7 Userseitige Operationen
-
2.8 Rechtschreibprüfung und Silbentrennung
- 2.8.1 Zugriff auf verteilte Informationen
- 2.8.2 Kapselung von Zugriff und Traversierung
- 2.8.3 Die Iterator-Klasse und ihre Unterklassen
- 2.8.4 Das Design Pattern Iterator (Iterator)
- 2.8.5 Traversierung kontra Traversierungsaktionen
- 2.8.6 Kapselung der Analyse
- 2.8.7 Die Visitor-Klasse und ihre Unterklassen
- 2.8.8 Das Design Pattern Visitor (Besucher)
- 2.9 Zusammenfassung
- Design-Patterns-Katalog
- Kapitel 3: Erzeugungsmuster (Creational Patterns)
- Kapitel 4: Strukturmuster (Structural Patterns)
-
Kapitel 5: Verhaltensmuster (Behavioral Patterns)
- 5.1 Chain of Responsibility (Zuständigkeitskette)
- 5.2 Command (Befehl)
- 5.3 Interpreter (Interpreter)
- 5.4 Iterator (Iterator)
- 5.5 Mediator (Vermittler)
- 5.6 Memento (Memento)
- 5.7 Observer (Beobachter)
- 5.8 State (Zustand)
- 5.9 Strategy (Strategie)
- 5.10 Template Method (Schablonenmethode)
- 5.11 Visitor (Besucher)
- 5.12 Weitere Erläuterungen zu den Verhaltensmustern
- Kapitel 6: Schlusswort der Autoren
- Anhang A: Glossar
- Anhang B: Notationshinweise
- Anhang C: Fundamentale Klassen
- Anhang D: Quellenverzeichnis
Product information
- Title: Design Patterns - Entwurfsmuster als Elemente wiederverwendbarer objektorientierter Software
- Author(s):
- Release date: January 2015
- Publisher(s): mitp Verlag
- ISBN: 9783826697005
You might also like
book
Python Crash Course, 2nd Edition
This is the second edition of the best selling Python book in the world. Python Crash …
book
Java Übungsbuch - für die Versionen Java 8 bis Java 17
Trainieren Sie Ihre Java-Kenntnisse Learning by Doing anhand praktischer Übungen Mit vollständigen und kommentierten Lösungen Dieses …
book
Python Crash Course, 3rd Edition
Python Crash Course is the world's best-selling guide to the Python guide programming language, with over …
book
PHP Advanced and Object-Oriented Programming: Visual Quickpro Guide, Third Edition
Readers can take their PHP skills to the next level with this fully revised and updated …