Ich denke, es gibt einen Ort für abstrakte Fabrikmuster anstelle von einfachen Fabrikmustern an Orten, an denen Ihre Instanziierungen sehr kompliziert, zu kompliziert und hässlich für eine einzelne Fabrik und zu kompliziert für die Benutzeroberfläche sind.
Angenommen, dies ist eine Marke von TYPE_A, keine einzelne Klasse. Angenommen, es gibt eine Familie von 100 ähnlichen Klassen vom Typ A, und Sie müssen ein Objekt aus ihnen instanziieren. Stellen Sie sich vor, es sind detaillierte Informationen erforderlich, um aus einer Marke vieler ähnlicher Objekttypen das richtige Objekt zu machen. In dieser Objektentität müssen Sie genau wissen, welche Parameter zu optimieren sind und wie sie zu optimieren sind.
In der speziellen Fabrik für diese Marke werden wir sie differenzieren lassen und das genaue Objekt zum Instanziieren und auch zum Instanziieren erhalten. Wir werden wissen, dass aufgrund von Eingaben aus dem Netz (sagen wir, welche Farbe im Online-Shop verfügbar ist) und von anderen Anwendungen und Diensten, die im Hintergrund ausgeführt werden (Parameter, die der Benutzeroberfläche nicht bekannt sind).
Und vielleicht haben wir morgen eine andere Familie von Typ_B und Typ_C zum Instanziieren. Die Benutzeroberfläche hat also das "Wenn sonst", um zu wissen, ob der Benutzer einen "Typ_A", "Typ_B" oder "Typ_C" möchte - aber die Fabrikklassen entscheiden genau, welche Klasse aus dem Typ (aus der Familie) erstellt werden soll, und wie man es abstimmt - welche Werte auf seine Parameter eingestellt oder an seinen Auftragnehmer gesendet werden sollen. All dies - nach vielen Parametern, die der Benutzeroberfläche nicht bekannt sind. All dies wird für eine einzelne Fabrikklasse zu viel sein.