Skip to main content

2023 | Buch

Architektur- und Entwurfsmuster der Softwaretechnik

Mit lauffähigen Beispielen in Java

insite
SUCHEN

Über dieses Buch

Architekturen von Softwaresystemen sollen einfach erweiterbar und weitestgehend standardisiert sein, damit die Entwickler sich leicht über Architekturen austauschen können. Für den objektorientierten Entwurf haben sich zahlreiche wertvolle Architektur- und Entwurfsmuster herausgebildet. Diese Muster basieren auf objektorientier­­ten Prinzipien. Im Buch werden zuerst die wichtig­sten objektorientierten Prinzipien erklärt. Anschließend wird gezeigt, wie diese objektorientierten Prinzipien in den verschie­denen Architektur- und Entwurfs­mustern umgesetzt werden. Die Muster werden durch lauffähige Bei­spiele in Java illustriert.

Für die neue Auflage wurden alle Muster komplett überarbeitet. Dabei wurden die relevanten Diagramme konsequent an UML 2 angepasst. Ebenso wurden die Programmbeispiele in eine einheitliche Form gebracht und sind nun mit der aktuellen Java-Version kompatibel. Der Musterkatalog wurde um das Entwurfsmuster "Memento" ergänzt. Insgesamt wurde der Musterkatalog neu gegliedert, sodass jetzt Muster der gleichen Kategorie zusammen in einem Kapitel zu finden sind.

Das Buch richtet sich an Studierende der Informatik und der ingenieurwissenschaftlichen Disziplinen, sowie an berufliche Umsteiger*innen und Entwickler*innen in der Praxis.

Inhaltsverzeichnis

Frontmatter
Kapitel 1. Softwarearchitekturen
Zusammenfassung
Das vorliegende Buch behandelt objektorientierte Muster für standardisierte Softwarearchitekturen.
Joachim Goll, Micha Koller, Michael Watzko
Kapitel 2. Muster
Zusammenfassung
Muster erlauben es generell, mit der Komplexität der Realität durch das Bilden einfacher Abstraktionen fertig zu werden.
Joachim Goll, Micha Koller, Michael Watzko
Kapitel 3. Entwurfs- und Konstruktionsprinzipien zur Realisierung von Mustern
Zusammenfassung
Kapitel 3.1 stellt in Kurzform wichtige Entwurfs- und Konstruktionsprinzipien der Softwaretechnik vor. Kapitel 3.2 befasst sich speziell mit dem von Gamma et al. [Gam94] vorgeschlagenen Entwurfsprinzip "Programmiere gegen Schnittstellen, nicht gegen Implementierungen", welches die Wiederverwendbarkeit von Mustern sicherstellen soll, und dem Prinzip "Ziehe Objektkomposition der Klassenvererbung vor", welches bei polymorphen Programmen zu weniger Abhängigkeiten als die Technik der Vererbung führt. Die Entwurfsprinzipien "Programmiere gegen Schnittstellen, nicht gegen Implementierungen" und "Ziehe Objektkomposition der Klassenvererbung vor" sind eine zentrale Grundlage für das Buch von Gamma et al. [Gam94], der "Gang of Four" (abgekürzt als GoF). Die Bedeutung dieser beiden Prinzipien geht weit über die Entwurfsmuster von Gamma et al. hinaus.
Joachim Goll, Micha Koller, Michael Watzko
Kapitel 4. Übersicht über den behandelten Katalog von Entwurfsmustern
Zusammenfassung
Kapitel 4.1 gibt eine Übersicht über die gezeigten Strukurmuster, Kapitel 4.2 über die behandelten Verhaltensmuster und Kapitel 4.3 über die dargestellten Erzeugungsmuster. Kapitel 4.4 nennt zur Einführung in Entwurfsmuster einige einfache Entwurfsmuster.
Joachim Goll, Micha Koller, Michael Watzko
Kapitel 5. Strukturmuster
Zusammenfassung
Der Begriff "Strukturmuster" wurde von Gamma et al. als eine Kategorie der Entwurfsmuster geprägt [Gam94].
Joachim Goll, Micha Koller, Michael Watzko
Kapitel 6. Verhaltensmuster
Zusammenfassung
Der Begriff "Verhaltensmuster" wurde von Gamma et al. [Gam94] geprägt. Verhaltensmuster sind Entwurfsmuster und gehören damit zum Lösungsbereich.
Joachim Goll, Micha Koller, Michael Watzko
Kapitel 7. Erzeugungsmuster
Zusammenfassung
Der Begriff "Erzeugungsmuster" wurde von Gamma et al. geprägt [Gam94]. Erzeugungsmuster sind Entwurfsmuster.
Joachim Goll, Micha Koller, Michael Watzko
Kapitel 8. Übersicht über die behandelten Architekturmuster
Zusammenfassung
Der Unterschied zwischen Architekturmustern und Entwurfsmustern wurde in Kapitel 2.2 betrachtet.
Joachim Goll, Micha Koller, Michael Watzko
Kapitel 9. Architekturmuster zur Strukturierung eines Systems
Zusammenfassung
Dieses Kapitel über Architekturmuster zur Strukturierung eines Systems umfasst die Architekturmuster Layers sowie Pipes and Filters.
Joachim Goll, Micha Koller, Michael Watzko
Kapitel 10. Architekturmuster für adaptierbare Systeme
Zusammenfassung
Adaptierbare Systeme ermöglichen es, dass Softwaresysteme auch in Situationen, die während ihrer Entwicklung nicht vorhersehbar waren, mit Erfolg eingesetzt werden können. Neue Funktionen müssen hinzugefügt und existierende Dienste müssen geändert werden können. Ebenso müssen beispielsweise neue Versionen von Betriebssystemen oder Frameworks eingeführt werden können.
Joachim Goll, Micha Koller, Michael Watzko
Kapitel 11. Architekturmuster für verteilte Systeme
Zusammenfassung
Client- und Server-Komponenten kommunizieren untereinander nur über einen Broker. In einem verteilten System ist der Broker selbst als Middleware auf alle Knotenrechner des Systems verteilt.
Joachim Goll, Micha Koller, Michael Watzko
Kapitel 12. Architekturmuster für interaktive Systeme
Zusammenfassung
In diesem Kapitel wird das Architekturmuster Model-View-Controller für interaktive Systeme analysiert (siehe Kapitel 12.1).
Joachim Goll, Micha Koller, Michael Watzko
Backmatter
Metadaten
Titel
Architektur- und Entwurfsmuster der Softwaretechnik
verfasst von
Joachim Goll
Micha Koller
Michael Watzko
Copyright-Jahr
2023
Electronic ISBN
978-3-658-42384-1
Print ISBN
978-3-658-42383-4
DOI
https://doi.org/10.1007/978-3-658-42384-1