Im Buch Domain Driven Design von Eric Evans, in Kapitel 6 im Abschnitt über die "Fabriken" (Seite 139) es sagt den folgenden:DDD-Buch, Eric Evans: Was ist gemeint mit "The FACTORY sollte auf den gewünschten Typ abstrahiert werden, anstatt auf die konkrete (n) Klasse (n), die erstellt wurde."?
„Die zwei Grundvoraussetzungen für jede gute FACTORY:
...
"2. Die Fabrik soll eher als die konkrete Klasse erstellt gewünschten die Art abstrahiert wird (es).“
Könnten Sie bitte auf erarbeiten, was mit dieser Aussage über Grundvoraussetzung Nummer gemeint 2.
danke für Ihre schnelle Antwort. Obwohl ich immer noch etwas verwirrt bin, heißt es auch später im Buch (unten auf S.143) "Die FACTORY ist an die konkrete Klasse der Produkte gekoppelt"; Glücklicherweise entwickle ich PHP, also sind "Rückgabetypen" technisch gesehen (obwohl konzeptionell immer noch wichtig) –
Ich denke, es sagt es, weil Sie in den meisten Fällen die konkrete Klasse innerhalb der Create-Methode unter Verwendung der neuer Betreiber Somit haben Sie eine starke Verbindung zwischen der Schöpfungsmethode und dem Betontyp. Ihre Konsumenten beziehen sich nicht unbedingt auf den konkreten Typ, nur die Schnittstelle. Die Fabrikklasse muss jedoch auf den konkreten Typ verweisen. –
Ich denke, ich sehe. Nutzen Sie also grundsätzlich die verschiedenen Creational Patterns (GoF), um die Signatur- und Rückgabetypen der Factory-Klassen so allgemein wie möglich zu halten, um die konkreten Implementierungen abzuschirmen. Sie können jedoch immer noch eine Factory-Klasse verwenden, die an ein konkretes Domänenobjekt gebunden ist, solange die Schnittstelle generisch ist. So sind LampshadeFactory und eine SofaFactory immer noch in Ordnung, solange sie sich hinter der abstrakten Oberfläche von FurnitureFactory verstecken. –