Warum befasst sich Abstract Factory mit Familien und Factory Method mit dem Generieren eines einzelnen Objekts?
Von dem, was ich gelesen habe, befasst sich das abstrakte Factory-Muster in der Regel mit der Erstellung mehrerer Objekte, die alle derselben Familie zugeordnet sind, und das Factory-Methodenmuster befasst sich mit der Erstellung eines einzelnen Objekts.
Betrachten Sie das folgende Beispiel, das diese Bedenken auf den Kopf stellt:
// Factory Method (base class) allowing for creation of families of objects
public class BasePizzaCreator{
abstract ISauce CreateSauce();
abstract IToppings CreateToppings();
abstract ICrust CreateCrust();
}
// Abstract Factory (interface) defining contract to create a single object
public interface IPizzaFactory{
abstract IPizza CreatePizza();
}
s ist offensichtlich, dass Siekönne benutze sie auf diese Weise - aber ist es eine Verletzung des Geistes der Muster? Wenn ja warum
Was ich hier wirklich verstehen möchte, ist Folgendes: Warum ist Abstract Factory der bessere Ansatz zum Erstellen von Familien verwandter Objekte und die Factory-Methode der bessere Ansatz zum Erstellen eines einzelnen Objekts?