Erich Gamma
Objektorientierte Software-Entwicklung am Beispiel von ET++
Design-Muster, Klassenbibliothek, Werkzeuge
Erich Gamma
Objektorientierte Software-Entwicklung am Beispiel von ET++
Design-Muster, Klassenbibliothek, Werkzeuge
- Broschiertes Buch
- Merkliste
- Auf die Merkliste
- Bewerten Bewerten
- Teilen
- Produkt teilen
- Produkterinnerung
- Produkterinnerung
Dieses Buch konsolidiert Erkenntnisse im Bereich des objektorientierten Entwurfs, die während der Entwicklung von ET++, einer portablen und umfassenden Klassenbibliothek, gemacht wurden. Durch Abstraktion von Design-Strukturen, die in ET++ zur Anwendung kamen, werden sogenannte Design-Muster identifiziert und beschrieben. Design-Muster sind bestimmte abstrahierte Klassenstrukturen, die bei der Gestaltung von neuen objektorientierten Applikationen und Klassenbibliotheken verwendet werden können. Design-Muster ermöglichen so eine Art der Wiederverwendung von Design und stellen dem Entwickler…mehr
Andere Kunden interessierten sich auch für
- Ljubomir ChristovObjektorientierte Programmiersprache C++49,95 €
- Software-Zuverlässigkeit49,95 €
- Christiane FederAusnahmebehandlung in objektorientierten Programmiersprachen54,99 €
- Max MühlhäuserSoftware Engineering für verteilte Anwendungen54,99 €
- Software für die Arbeit von morgen54,99 €
- Peter PageObjektorientierte Software in der kommerziellen Anwendung39,99 €
- Roy OsheroveThe Art of Unit Testing39,99 €
-
-
-
Dieses Buch konsolidiert Erkenntnisse im Bereich des objektorientierten Entwurfs, die während der Entwicklung von ET++, einer portablen und umfassenden Klassenbibliothek, gemacht wurden. Durch Abstraktion von Design-Strukturen, die in ET++ zur Anwendung kamen, werden sogenannte Design-Muster identifiziert und beschrieben. Design-Muster sind bestimmte abstrahierte Klassenstrukturen, die bei der Gestaltung von neuen objektorientierten Applikationen und Klassenbibliotheken verwendet werden können. Design-Muster ermöglichen so eine Art der Wiederverwendung von Design und stellen dem Entwickler zusätzlich ein Vokabular für die Beschreibung eines Entwurfs zur Verfügung. Design-Muster sind deshalb eine wichtige Ergänzung zu bekannten Methoden für den objektorientierten Entwurf.
Hinweis: Dieser Artikel kann nur an eine deutsche Lieferadresse ausgeliefert werden.
Hinweis: Dieser Artikel kann nur an eine deutsche Lieferadresse ausgeliefert werden.
Produktdetails
- Produktdetails
- Verlag: Springer / Springer Berlin Heidelberg / Springer, Berlin
- Artikelnr. des Verlages: 978-3-540-56006-7
- 1992.
- Seitenzahl: 208
- Erscheinungstermin: 23. November 1992
- Deutsch
- Abmessung: 235mm x 155mm x 12mm
- Gewicht: 326g
- ISBN-13: 9783540560067
- ISBN-10: 3540560068
- Artikelnr.: 24979080
- Verlag: Springer / Springer Berlin Heidelberg / Springer, Berlin
- Artikelnr. des Verlages: 978-3-540-56006-7
- 1992.
- Seitenzahl: 208
- Erscheinungstermin: 23. November 1992
- Deutsch
- Abmessung: 235mm x 155mm x 12mm
- Gewicht: 326g
- ISBN-13: 9783540560067
- ISBN-10: 3540560068
- Artikelnr.: 24979080
Dr. Erich Gamma ist der Leiter des IBM OTI Lab in Zürich. Er ist ein Eclipse Committer und verantwortlich für die Java-Entwicklungsumgebung Eclipse . Außerdem ist er Mitglied des Eclipse Project Management Committee (PMC). Neben seiner Tätigkeit im Eclipse-Projekt kennt man Erich Gamma als Entwickler von JUnit. Erich Gamma hat an der Universität Zürich promoviert. Zusammen mit Richard Helm, Ralph Johnnson und John Vlissides ist Erich Gamma weltweit als Gang of Four (GoF) bekannt.
1 Einleitung.- 2 Objektorientierte Programmierung: Begriffe und Konzepte.- 2.1 Klassen und Objekte.- 2.2 Vererbung.- 2.2.1 Abstrakte Klassen.- 2.2.2 Vererbung der Schnittstelle vs. Vererbung Implementation.- 2.3 Dynamische Bindung, Polymorphismus, standardisierte Protokolle.- 2.3.1 Typenprüfung.- 2.4 Weitere Konzepte objektorientierter Programmiersprachen.- 2.5 Wiederverwendung in der objektorientierten Programmierung - Klassenbibliotheken.- 2.5.1 Bausteinklassen.- 2.5.2 Frameworks.- 2.5.3 Application-Frameworks.- 3 Struktur und Inhalt der ET++ Klassenbibliothek.- 3.1 Eigenschaften der ET++ Klassenbibliothek.- 3.1.1 C++.- 3.2 Die Architektur von ET++.- 3.3 Systemklassen.- 3.4 Fundamentale Klassen.- 3.4.1 Metainformation.- 3.4.2 Aktivierung/Passivierung von Objekten.- 3.4.3 Abhängigkeiten zwischen Objekten (Change-Propagation).- 3.5 Datenstruktur-Klassen.- 3.5.1 Die Realisierung generischer Container-Klassen.- 3.5.2 Iteratoren.- 3.5.3 Textklassen.- 3.6 Graphische Klassen.- 3.6.1 Graphische Grundklassen.- 3.6.2 Elementare graphische Bausteine.- 3.6.3 Klassen zum Zusammensetzen elementarer Bausteine.- 3.6.4 Komplexere graphische Bausteine.- 3.6.5 Standard-Views.- 3.6.6 Darstellung und Manipulation von Text.- 3.7 Application-Framework-Klassen.- 3.7.1 Die Objekthierarchie einer ET++-Applikation.- 3.7.2 Ereignisbehandlung und Kontrollfluss von ET++ Applikationen.- 3.7.3 Die "Hello World" Beispiel-Applikation.- 3.7.4 ET++ im Vergleich mit MacApp.- 3.8 Beispiele fur ET++ Applikationen.- 3.9 Beurteilung der ET++ Klassenbibliothek.- 4 ET++PE - Werkzeugunterstiitzung fiir die Applikationsentwicklung mit ET++.- 4.1 Konzepte von ET++PE.- 4.1.1 Browser.- 4.1.2 Exploratives Untersuchen einer Applikation durch Zeigen und Klicken.- 4.1.3 Verflachung der Klassenhierarchie.- 4.1.4 Instrumentierung von Klassen.- 4.2 Die Browser von ET++PE.- 4.2.1 Der Inspector.- 4.2.2 Der Object Structure Browser.- 4.2.3 Der Class Browser.- 4.2.4 Der Class Hierarchy Browser.- 4.3 Integration von ET++PE in einen Debugger.- 4.3.1 Etgdb.- 4.4 Das ET++Cookbook.- 4.4.1 Konzepte.- 4.4.2 Ein Beispiel für die Benutzung des ET++Cookbooks.- 4.4.3 Integration des ET++Cookbooks in ET++PE.- 4.5 Implementationsaspekte.- 4.5.1 Metainformationen.- 4.5.2 Die Benutzerschnittstelle von ET++PE.- 4.5.3 Implementation des Cookbooks.- 4.5.4 Debugger-Anschluss.- 4.6 Beurteilung von ET++PE.- 4.6.1 Mogliche Verbesserungen von ET++PE.- 4.6.2 ET++PE im Vergleich mit anderen Werkzeugen.- 5 Design-Muster - ein Ansatz für die Unterstützung des objektorientierten Entwurfs.- 5.1 Konzepte zur Unterstützung des objektorientierten Entwurfs.- 5.1.1 Ansätze.- 5.1.2 Entwurfsmethoden.- 5.1.3 Stilregeln.- 5.1.4 Frameworks.- 5.2 Konzepte eines neuen Ansatzes für die Unterstiitzung des objektorientierten Entwurfs.- 5.2.1 Design-Muster ("Design Pattern").- 5.2.2 Kategorien von Design-Mustern.- 5.3 Eine graphische Notation für die Darstellung von Design-Mustern.- 5.3.1 Das Klassendiagramm.- 5.3.2 Das Objektdiagramm.- 5.3.3 Das Methoden-Flussdiagramm.- 5.4 Design-Muster für die Organisation von Klassenhierarchien.- 5.4.1 Familien.- 5.4.2 Teams.- 5.4.3 Subsysteme.- 5.4.4 Frameworks.- 5.4.5 Die globale Organisation einer Klassenbibliothek.- 5.5 Design-Muster für die Gestaltung der Interaktion zwischen Klassen (Interaktions-Design).- 5.5.1 Black-Box- und Parameterklassen.- 5.5.2 Kompositionsklassen ("Composer").- 5.5.3 Umwickler ("Wrapper").- 5.5.4 Brücken- ("Bridges") und Implementationsklassen.- 5.5.5 Delegationsklassen ("Forwarder").- 5.5.6 Vermittler ("Mediator").- 5.5.7 Verfahrensklassen ("Behaviours").- 5.5.8 Strategieklassen ("Policies").- 5.5.9 Adapter.- 5.6 Design-Muster für die Gestaltung der Klassenschnittstelle.- 5.6.1 Allgemeine Grundregeln.- 5.6.2 Elementare und zusammengesetzte Methoden.- 5.6.3 Virtuelle Konstruktoren.- 5.6.4 Standardmethoden ("Defaults").- 5.6.5 Sequenz- und Einschubmethoden.- 5.6.6 Iteratoren.- 5.6.7 Double-Dispatching.- 5.7 Muster für die Reorganisation von Klassenhierarchien.- 5.7.1 Vertikale Reorganisationen.- 5.7.2 Horizontale Reorganisationen.- 5.7.3 Klasseninterne Reorganisationen.- 5.7.4 Die Evolution von ET++.- 5.8 Allgemeine Anmerkungen zum objektorientierten Entwurf.- 5.8.1 Anwendung der Design-Muster.- 5.8.2 Verwendung von Vererbung.- 5.9 Design-Muster und Werkzeugunterstiitzung.- 5.9.1 ET++DE.- 6 Zusammenfassung und Schlussbemerkungen.- 6.1 Zusammenfassung.- 6.2 Schlussbemerkungen.
1 Einleitung.- 2 Objektorientierte Programmierung: Begriffe und Konzepte.- 2.1 Klassen und Objekte.- 2.2 Vererbung.- 2.2.1 Abstrakte Klassen.- 2.2.2 Vererbung der Schnittstelle vs. Vererbung Implementation.- 2.3 Dynamische Bindung, Polymorphismus, standardisierte Protokolle.- 2.3.1 Typenprüfung.- 2.4 Weitere Konzepte objektorientierter Programmiersprachen.- 2.5 Wiederverwendung in der objektorientierten Programmierung - Klassenbibliotheken.- 2.5.1 Bausteinklassen.- 2.5.2 Frameworks.- 2.5.3 Application-Frameworks.- 3 Struktur und Inhalt der ET++ Klassenbibliothek.- 3.1 Eigenschaften der ET++ Klassenbibliothek.- 3.1.1 C++.- 3.2 Die Architektur von ET++.- 3.3 Systemklassen.- 3.4 Fundamentale Klassen.- 3.4.1 Metainformation.- 3.4.2 Aktivierung/Passivierung von Objekten.- 3.4.3 Abhängigkeiten zwischen Objekten (Change-Propagation).- 3.5 Datenstruktur-Klassen.- 3.5.1 Die Realisierung generischer Container-Klassen.- 3.5.2 Iteratoren.- 3.5.3 Textklassen.- 3.6 Graphische Klassen.- 3.6.1 Graphische Grundklassen.- 3.6.2 Elementare graphische Bausteine.- 3.6.3 Klassen zum Zusammensetzen elementarer Bausteine.- 3.6.4 Komplexere graphische Bausteine.- 3.6.5 Standard-Views.- 3.6.6 Darstellung und Manipulation von Text.- 3.7 Application-Framework-Klassen.- 3.7.1 Die Objekthierarchie einer ET++-Applikation.- 3.7.2 Ereignisbehandlung und Kontrollfluss von ET++ Applikationen.- 3.7.3 Die "Hello World" Beispiel-Applikation.- 3.7.4 ET++ im Vergleich mit MacApp.- 3.8 Beispiele fur ET++ Applikationen.- 3.9 Beurteilung der ET++ Klassenbibliothek.- 4 ET++PE - Werkzeugunterstiitzung fiir die Applikationsentwicklung mit ET++.- 4.1 Konzepte von ET++PE.- 4.1.1 Browser.- 4.1.2 Exploratives Untersuchen einer Applikation durch Zeigen und Klicken.- 4.1.3 Verflachung der Klassenhierarchie.- 4.1.4 Instrumentierung von Klassen.- 4.2 Die Browser von ET++PE.- 4.2.1 Der Inspector.- 4.2.2 Der Object Structure Browser.- 4.2.3 Der Class Browser.- 4.2.4 Der Class Hierarchy Browser.- 4.3 Integration von ET++PE in einen Debugger.- 4.3.1 Etgdb.- 4.4 Das ET++Cookbook.- 4.4.1 Konzepte.- 4.4.2 Ein Beispiel für die Benutzung des ET++Cookbooks.- 4.4.3 Integration des ET++Cookbooks in ET++PE.- 4.5 Implementationsaspekte.- 4.5.1 Metainformationen.- 4.5.2 Die Benutzerschnittstelle von ET++PE.- 4.5.3 Implementation des Cookbooks.- 4.5.4 Debugger-Anschluss.- 4.6 Beurteilung von ET++PE.- 4.6.1 Mogliche Verbesserungen von ET++PE.- 4.6.2 ET++PE im Vergleich mit anderen Werkzeugen.- 5 Design-Muster - ein Ansatz für die Unterstützung des objektorientierten Entwurfs.- 5.1 Konzepte zur Unterstützung des objektorientierten Entwurfs.- 5.1.1 Ansätze.- 5.1.2 Entwurfsmethoden.- 5.1.3 Stilregeln.- 5.1.4 Frameworks.- 5.2 Konzepte eines neuen Ansatzes für die Unterstiitzung des objektorientierten Entwurfs.- 5.2.1 Design-Muster ("Design Pattern").- 5.2.2 Kategorien von Design-Mustern.- 5.3 Eine graphische Notation für die Darstellung von Design-Mustern.- 5.3.1 Das Klassendiagramm.- 5.3.2 Das Objektdiagramm.- 5.3.3 Das Methoden-Flussdiagramm.- 5.4 Design-Muster für die Organisation von Klassenhierarchien.- 5.4.1 Familien.- 5.4.2 Teams.- 5.4.3 Subsysteme.- 5.4.4 Frameworks.- 5.4.5 Die globale Organisation einer Klassenbibliothek.- 5.5 Design-Muster für die Gestaltung der Interaktion zwischen Klassen (Interaktions-Design).- 5.5.1 Black-Box- und Parameterklassen.- 5.5.2 Kompositionsklassen ("Composer").- 5.5.3 Umwickler ("Wrapper").- 5.5.4 Brücken- ("Bridges") und Implementationsklassen.- 5.5.5 Delegationsklassen ("Forwarder").- 5.5.6 Vermittler ("Mediator").- 5.5.7 Verfahrensklassen ("Behaviours").- 5.5.8 Strategieklassen ("Policies").- 5.5.9 Adapter.- 5.6 Design-Muster für die Gestaltung der Klassenschnittstelle.- 5.6.1 Allgemeine Grundregeln.- 5.6.2 Elementare und zusammengesetzte Methoden.- 5.6.3 Virtuelle Konstruktoren.- 5.6.4 Standardmethoden ("Defaults").- 5.6.5 Sequenz- und Einschubmethoden.- 5.6.6 Iteratoren.- 5.6.7 Double-Dispatching.- 5.7 Muster für die Reorganisation von Klassenhierarchien.- 5.7.1 Vertikale Reorganisationen.- 5.7.2 Horizontale Reorganisationen.- 5.7.3 Klasseninterne Reorganisationen.- 5.7.4 Die Evolution von ET++.- 5.8 Allgemeine Anmerkungen zum objektorientierten Entwurf.- 5.8.1 Anwendung der Design-Muster.- 5.8.2 Verwendung von Vererbung.- 5.9 Design-Muster und Werkzeugunterstiitzung.- 5.9.1 ET++DE.- 6 Zusammenfassung und Schlussbemerkungen.- 6.1 Zusammenfassung.- 6.2 Schlussbemerkungen.