Abstract Factory (Design Pattern)

Aus Byte-Welt Wiki
Zur Navigation springenZur Suche springen

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.