Zum Inhalt

Architektur- und Entwurfsmuster der Softwaretechnik

Mit lauffähigen Beispielen in Java

  • 2023
  • Buch

Ü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

  1. Frontmatter

  2. Kapitel 1. Softwarearchitekturen

    Joachim Goll, Micha Koller, Michael Watzko
    Zusammenfassung
    Das vorliegende Buch behandelt objektorientierte Muster für standardisierte Softwarearchitekturen.
  3. Kapitel 2. Muster

    Joachim Goll, Micha Koller, Michael Watzko
    Zusammenfassung
    Muster erlauben es generell, mit der Komplexität der Realität durch das Bilden einfacher Abstraktionen fertig zu werden.
  4. Kapitel 3. Entwurfs- und Konstruktionsprinzipien zur Realisierung von Mustern

    Joachim Goll, Micha Koller, Michael Watzko
    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.
  5. Kapitel 4. Übersicht über den behandelten Katalog von Entwurfsmustern

    Joachim Goll, Micha Koller, Michael Watzko
    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.
  6. Kapitel 5. Strukturmuster

    Joachim Goll, Micha Koller, Michael Watzko
    Zusammenfassung
    Der Begriff "Strukturmuster" wurde von Gamma et al. als eine Kategorie der Entwurfsmuster geprägt [Gam94].
  7. Kapitel 6. Verhaltensmuster

    Joachim Goll, Micha Koller, Michael Watzko
    Zusammenfassung
    Der Begriff "Verhaltensmuster" wurde von Gamma et al. [Gam94] geprägt. Verhaltensmuster sind Entwurfsmuster und gehören damit zum Lösungsbereich.
  8. Kapitel 7. Erzeugungsmuster

    Joachim Goll, Micha Koller, Michael Watzko
    Zusammenfassung
    Der Begriff "Erzeugungsmuster" wurde von Gamma et al. geprägt [Gam94]. Erzeugungsmuster sind Entwurfsmuster.
  9. Kapitel 8. Übersicht über die behandelten Architekturmuster

    Joachim Goll, Micha Koller, Michael Watzko
    Zusammenfassung
    Der Unterschied zwischen Architekturmustern und Entwurfsmustern wurde in Kapitel 2.2 betrachtet.
  10. Kapitel 9. Architekturmuster zur Strukturierung eines Systems

    Joachim Goll, Micha Koller, Michael Watzko
    Zusammenfassung
    Dieses Kapitel über Architekturmuster zur Strukturierung eines Systems umfasst die Architekturmuster Layers sowie Pipes and Filters.
  11. Kapitel 10. Architekturmuster für adaptierbare Systeme

    Joachim Goll, Micha Koller, Michael Watzko
    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.
  12. Kapitel 11. Architekturmuster für verteilte Systeme

    Joachim Goll, Micha Koller, Michael Watzko
    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.
  13. Kapitel 12. Architekturmuster für interaktive Systeme

    Joachim Goll, Micha Koller, Michael Watzko
    Zusammenfassung
    In diesem Kapitel wird das Architekturmuster Model-View-Controller für interaktive Systeme analysiert (siehe Kapitel 12.1).
  14. Backmatter

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

Informationen zur Barrierefreiheit für dieses Buch folgen in Kürze. Wir arbeiten daran, sie so schnell wie möglich verfügbar zu machen. Vielen Dank für Ihre Geduld.

    Bildnachweise
    AvePoint Deutschland GmbH/© AvePoint Deutschland GmbH, ams.solutions GmbH/© ams.solutions GmbH, Wildix/© Wildix, arvato Systems GmbH/© arvato Systems GmbH, Ninox Software GmbH/© Ninox Software GmbH, Nagarro GmbH/© Nagarro GmbH, GWS mbH/© GWS mbH, CELONIS Labs GmbH, USU GmbH/© USU GmbH, G Data CyberDefense/© G Data CyberDefense, Vendosoft/© Vendosoft, Kumavision/© Kumavision, Noriis Network AG/© Noriis Network AG, WSW Software GmbH/© WSW Software GmbH, tts GmbH/© tts GmbH, Asseco Solutions AG/© Asseco Solutions AG, AFB Gemeinnützige GmbH/© AFB Gemeinnützige GmbH, Ferrari electronic AG/© Ferrari electronic AG, Doxee AT GmbH/© Doxee AT GmbH , Haufe Group SE/© Haufe Group SE, NTT Data/© NTT Data