Abstract Factory (Design Pattern): Unterschied zwischen den Versionen

Aus Byte-Welt Wiki
Zur Navigation springenZur Suche springen
(Die Seite wurde neu angelegt: Die ''Abstract Factory'' ist ein Entwurfsmuster aus der Softwaretechnik, aus der Kategorie der Creational Pattern ('''Erzeugungsmuster'''). Das Muster ist e...)
 
 
(Eine dazwischenliegende Version von einem anderen Benutzer wird nicht angezeigt)
Zeile 28: Zeile 28:
  
 
[[Kategorie:Design Pattern]]
 
[[Kategorie:Design Pattern]]
[[Kategorie:Creational Patern]]
+
[[Kategorie:Creational Pattern]]
 
[[Kategorie:Gang of Four Pattern]]
 
[[Kategorie:Gang of Four Pattern]]

Aktuelle Version vom 18. Juni 2007, 18:51 Uhr

Die Abstract Factory ist ein Entwurfsmuster aus der Softwaretechnik, aus der Kategorie der Creational Pattern (Erzeugungsmuster). Das Muster ist eines von der sogenannten Viererbande (GoF) publiziertes Muster.

Zweck

Das abstract Factory Muster bietet Schnittstellen zur Erstellung von verwandten und ähnlichen Objekten, jedoch ohne konkrete Klassenangaben.

Motivation

Die abstract Factory wird verwendet wenn verwandte Produkte erzeugt werden sollen, diese aber in einigen Eigenschaften unterschiedlich sind, z.B. eine grafische Oberfläche mit verschiedenen Themes.

Struktur

Teilnehmer

Interaktion

Konsequenz

Vorteilhaft ist, das Klassen werden gekapselt und sie so einfacher auszutauschen sind. Ein Nachteil ist, dass bei neuen Produktfamilien große Umbauten in den bestehenden Klassen getätigt werden.

Implementierung/Beispielcode

Es soll ein Kuchen gemacht per Software gemacht werden. Als abstrakte Factory wird die Klasse Kuchen genommen, diese hat die Methoden ofenAn() und ofenAus() und die abstrakten Methoden teigVorbereiten() und herdEinstellen(). Konkrete Implementierungen der Kuchenfabrik wären z.B. Sandkuchen oder eine Torte.

Bekannte Verwendungen

Es wird oft beim Erstellen von grafischen Oberflächen mit verschiedenem Aussehen verwendet.

Verwandte Muster

Das Method Factory Pattern ist ein ähnliches Entwurfsmuster mit anderen Ansätzen. Dieses zielt jedoch auf ein spezielles Produkt und keine ganze Produktreihe ab.