Factory-Builder Pattern?

slawaweis

Bekanntes Mitglied
Hallo,

in Java habe ich schon an einigen Stellen eine Kombination von Factory und Builder gesehen, z.B. bei der XML-Verarbeitung. Zuerst wird eine Instanz einer Factory geholt, mit welcher ein Builder konstruiert wird. Mit dem Builder können dann mehrere Objekte erzeugt werden. Abstrakt:

Factory -> Builder -> Objekt

Klingt doppelt gemoppelt, auch wenn dahinter der Sinn nach Flexibilität und Third Party Erweiterungen steckt.

So wollte ich fragen, gibt es dafür ein konkretes Pattern? Ist es überhaupt gutes Design?

Slawa
 
M

maki

Gast
Nun, es git die Factory, es gibt den Builder, es war noch nie verboten Muster zu kombinieren, genaugenommen werden Muster eigentlich immer kombiniert und sind nur selten in Reinkultur zu beobachten.
 

Marco13

Top Contributor
Ich glaube, es ging um die Frage, warum man nicht nur eins von beidem verwendet, weil das ja für den eigentlichen Zweck "meistens" schon reichen würde. (Ich kann da auch nur Spekulationen äußern, in der schon angedeuteten Richtung von erweiternden Modulen und unterschiedlichen Implementierungen für die Factory, vielleicht mit irgendwelchen ServiceLookups innen drin.. ist aber nur geraten)
 
M

mvitzATwork

Gast
Bezüglich des Beispieles mit dem XML ist hier der Factory Aufruf in der Tat dazu da, verschiedene Implementierungen (z.B. Xerces, Saxon, ...) nutzen zu können, die dann wiederum das XML intern anders aufbauen können.
 

slawaweis

Bekanntes Mitglied
danke für alle Antworten. Mir ist der Hintergrund dieser Lösung schon klar und auch ich habe schon Xerces auf diese weise verwendet. Was ich suche ist die theoretische Beschreibung so eines kombinierten Patterns, falls es den gibt, mit allein Eigenschaften und Vorteilen/Nachteilen. Ich habe inzwischen das Abstract Factory Pattern gefunden, was in diese Richtung geht, aber die Kombination Factory und Builder nicht behandelt:

Abstract factory pattern - Wikipedia, the free encyclopedia

Slawa
 
Zuletzt bearbeitet:
M

maki

Gast
was in diese Richtung geht, aber die Kombination Factory und Builder nicht behandelt:
Muss es auch nicht, wie gesagt, ist normal.
Das konkrete Produkt ist in diesem Fall ein konkreter Builder für eine Implementierung.
 

Semox

Bekanntes Mitglied
Hallo slawaweis

Wie einer der Vorredner schon schrieb, Du bist nicht verpflichtet ein Pattern in Reinkultur zu benutzen. Patterns sind wie eine Vorgehensweise, die bestimmte wiederkehrende Aufgaben erleichtern sollen. Das bedeutet, daß Du durchaus ein Pattern mit einem anderen Pattern kombinieren kannst. Patterns sind kein Dogma - eher eine Empfehlung.

Nun - kürzlich habe ich ein Factory-Pattern für die Erstellung einer XML Datei durch eine andere Klasse verwendet.

Wenn Du Unsicherheiten hast, was das Thema der Software Patterns hast, dann kann ich Dir ein Buch empfehlen, was das Beste ist, das man in deutscher Sprache kaufen/leihen kann:

Entwurfsmuster: Elemente wiederverwendbarer objektorientierter Software - Addison Wesley Verlag

Es hat mir kurz und knapp am Besten geholfen. Es bezieht sich in seinen Beispielen auf C++, aber das ist nicht so schlimm, weil die meisten Erklärungen reiner Text sind (mit ein paar Grafiken garniert). Es ist von Erich Gamma mitgeschrieben worden.

Viele Grüße,
Semo
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
Rudolf Dependencie Injection und Factory Method Softwareentwicklung 6
B konfigurierbare Objekte - Singelton und Factory Pattern Softwareentwicklung 3
1 Factory-Pattern: Bitte um Tipps zur Anwendung Softwareentwicklung 3
DamienX Factory Method -> Warum abstrakter Creator? Softwareentwicklung 5
E Unterschied Factory und Abstract Factory? Softwareentwicklung 12
L Builder Pattern Softwareentwicklung 6
byte Erzeuger Muster (Builder) Softwareentwicklung 2
B Haskell pattern matching in if else Anweisung umschreiben Softwareentwicklung 3
E Frage zu Dekorator-Pattern Softwareentwicklung 2
M Visito/Besucher Design-Pattern/Strukturmuster Softwareentwicklung 4
H2SO3- design pattern: code in model classes Softwareentwicklung 5
G Design Pattern gesucht! Softwareentwicklung 4
D Design Pattern Softwareentwicklung 6
C Flyweight-Pattern verhält sich unerwartet Softwareentwicklung 5
S Design Pattern für zwei abhängige Klassen Softwareentwicklung 8
U Decorator Pattern in der Java API Softwareentwicklung 6
M Proxy Pattern - Verständnisfrage Softwareentwicklung 2
0 Unklarheiten beim State Pattern Softwareentwicklung 2
N Composite pattern Softwareentwicklung 2
N Pattern Softwareentwicklung 2
L Pattern Softwareentwicklung 3
J DAO Pattern bei komplexen Datenbankzugriffen Softwareentwicklung 2
M IllegalStateException - Problem mit GUI und Observer pattern Softwareentwicklung 4
G Pattern für Datenbank Anwendung Softwareentwicklung 22
A Iterato-Pattern und Innere Klassen Softwareentwicklung 9
F Unterschied Command und Strategy pattern Softwareentwicklung 4
F Wann Observer Pattern nehmen und Vorteile davon? Softwareentwicklung 5
H Frage ueber Prototype Pattern? Softwareentwicklung 2
K Design Pattern für einen simple Rechenmaschine Softwareentwicklung 18
G Warum/Wann mehrere Modells beim MVC-Pattern verwenden ? Softwareentwicklung 7
timomeinen DAO Pattern - Relationen mit DTO abbilden Softwareentwicklung 9
D Singleton pattern Softwareentwicklung 19
M decoration pattern Softwareentwicklung 2

Ähnliche Java Themen

Neue Themen


Oben