Buch Entwurfsmuster: Informatik-Fachbuch

Entwurfsmuster.

Elemente wiederverwendbarer objektorientierter Software (Originaltitel Design Patterns. Elements of Reusable Object-Oriented Software) ist ein 1994 von Erich Gamma, Richard Helm, Ralph Johnson und John Vlissides herausgegebenes Buch über wiederverwendbare Entwurfsmuster und gilt als eines der Standardwerke im Bereich Softwaretechnik.

Die Autoren werden oft auch als Viererbande (englisch Gang of Four, GoF) bezeichnet. Der Grund für das Entstehen dieser Abkürzung ist angeblich, dass der Name des Buches und der Autoren zu lang sei, um ihn in einer E-Mail zu zitieren. Deshalb wird er oft nur als GoF book abgekürzt. Im Quellcode mancher Open-Source-Projekte finden sich Kommentare wie GOF:175, der auf das Entwurfsmuster Decorator in der englischen Ausgabe des Buches hinweist.

Struktur

Die Beschreibung eines Entwurfsmusters durch die Gang of Four folgt folgendem Schema:

    Name und Klassifikation
    des Musters.
    Zweck
    des Musters.
    Synonyme
    Andere bekannte Namen des Musters.
    Motivation
    (Hinter-)Gründe für den Einsatz des Musters.
    Anwendbarkeit
    Einsatzbereiche für das Muster.
    Struktur
    Beschreibung der allgemeinen Struktur des Musters.
    Beteiligte Akteure
    Klassen, die an dem Muster beteiligt sind.
    Zusammenspiel
    der beteiligten Klassen.
    Konsequenzen
    Welche Vor- und Nachteile gibt es?
    Implementierung
    Praxisrelevante Tipps, Tricks und Techniken sowie Warnung vor Fehlern, die leicht passieren können.
    Beispielcode
    Quellcodefragment, das den Einsatz des Musters zeigt.
    Praxiseinsatz
    Wo wird das Muster bereits eingesetzt?
    Querverweise
    Wie spielt das Muster mit anderen Mustern zusammen?

Generell sollte die Dokumentation eines Entwurfsmusters ausreichende Informationen über das Problem, das das Muster behandelt, über den Kontext der Anwendung und über die vorgeschlagene Lösung bereitstellen. Viele Autoren lehnen ihren Aufbau an den der Beschreibungen der Gang of Four an und adaptieren sie an ihre Bedürfnisse.

Klassifikation

Die Autoren klassifizieren Muster nach den beiden Kriterien des Zwecks (purpose) und des Bereichs (scope), auf den sie wirken.

Nach dem Zweck des jeweiligen Musters unterscheiden sie drei Gruppen: Die erste Gruppe der Erzeugungsmuster bezieht sich auf die Erzeugung von Objekten. So kann man etwa die Anzahl von erzeugten Objekten einer Klasse kontrollieren wollen, oder man will den konkreten Typ der erzeugten Objekte – abhängig von den jeweiligen Bedingungen – anpassen. Die zweite Gruppe umfasst Strukturmuster, die eine Vereinfachung der Struktur zwischen Klassen ermöglichen sollen. Komplexe Beziehungsgeflechte können beispielsweise über vermittelnde Klassen oder Schnittstellen logisch vereinfacht werden. Die dritte Gruppe der Verhaltensmuster betrifft das Verhalten der Klassen. Hierbei handelt es sich um die größte Gruppe von Mustern. Sie beziehen sich auf die Zusammenarbeit und den Nachrichtenaustausch von Objekten.

Nach ihrem Anwendungsbereich lassen sich Muster in Klassen- und Objektmuster einteilen. Klassenmuster beschreiben Beziehungen zwischen Klassen und bauen vorrangig Vererbungsstrukturen auf. Die Strukturen sind damit zur Übersetzungszeit festgelegt. Hingegen nutzen Objektmuster vorrangig Assoziationen und Aggregationen zur Beschreibung von Beziehungen zwischen Objekten. Die durch sie beschriebenen Strukturen zwischen Objekten sind zur Laufzeit dynamisch änderbar.

Erzeugungsmuster (Creational patterns)

Erzeugungsmuster abstrahieren Objekterzeugungsprozesse. Klassenmuster nutzen dabei Vererbung, um die Klasse des zu erzeugenden Objekts zu variieren. Objektmuster delegieren die Objekterzeugung an andere Objekte.

  • Klassenmuster

Strukturmuster (Structural patterns)

Strukturmuster fassen Klassen und Objekte zu größeren Strukturen zusammen. Klassenmuster fassen dabei Schnittstellen (Typen) und Implementierungen (Klassen) zusammen, während Objektmuster Objekte in eine Struktur einordnen. Durch Klassenmuster beschriebene Strukturen sind zur Übersetzungszeit festgelegt. Die durch Objektmuster beschriebenen Strukturen sind zur Laufzeit änderbar.

  • Klassenmuster
    • Adapter (adapter, wrapper) (Adapter mit Vererbung oder Klassenadapter)

Verhaltensmuster (Behavioral patterns)

Verhaltensmuster beschreiben die Interaktion zwischen Objekten und komplexen Kontrollflüssen. Klassenmuster teilen die Kontrolle auf verschiedene Klassen auf, Objektmuster nutzen Komposition an Stelle von Vererbung.

Werke

  • Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides: Design Patterns. Elements of Reusable Object-Oriented Software. Addison-Wesley, 1995, ISBN 0-201-63361-2.
  • Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides: Entwurfsmuster. Elemente wiederverwendbarer objektorientierter Software. Addison-Wesley, München 2004, ISBN 3-8273-2199-9.

Einzelnachweise

Tags:

Buch Entwurfsmuster StrukturBuch Entwurfsmuster KlassifikationBuch Entwurfsmuster WerkeBuch Entwurfsmuster WeblinksBuch Entwurfsmuster EinzelnachweiseBuch EntwurfsmusterEntwurfsmusterErich GammaJohn VlissidesRalph JohnsonRichard HelmSoftwaretechnik

🔥 Trending searches on Wiki Deutsch:

Liste der IPA-ZeichenKZ BuchenwaldTárDer Doktor und das liebe ViehRoman PolańskiSerge GnabryDer dritte MannManfred KrugT-90Claudia ObertWilhelm II. (Deutsches Reich)Nordrhein-WestfalenTessa GansererFreiheitsstatueLuciane BuchananStar WarsRishi SunakSwastikaPitch Black – Planet der FinsternisProteste in Israel 2023Bundestagswahl 2021DresdenHarry PotterMatthias Reimann-AndersenDänemarkPrätorianerSandra OhBayernFiguren aus dem Marvel-UniversumVereinte DienstleistungsgewerkschaftErlkönig (Ballade)Boris PistoriusManta, MantaSchwedenWyatt EarpBertolt BrechtKarl-Josef RauberWolke HegenbarthDavid MorseHermann GöringMichael ParéHolocaustJenna ElfmanDaniel RadcliffeGrimesListe mathematischer SymboleAlexander von HumboldtNordica (Fluggesellschaft)Dodi LukébakioNavy CISTschechienListe der deutschen VerteidigungsministerCosta RicaEntführung von Natascha KampuschEurofighter TyphoonListe von SerienmördernThe White LotusEdi FraunederLuise WolframUranmunitionCarnival RowMarcus MittermeierHeidi KlumBashir Ahmad (Politiker)KF51 PantherPalmsonntagPergamonmuseumBetontodHotel AdlonCarina WieseRomMelissa Joan HartBMW 3erAlbanienMexiko28. MärzUlrike C. TscharreSüdwestrundfunk🡆 More