Die Fabrik (oder einen Fabrikmanager) statisch machen: Dies erleichtert die Verwendung, erfordert jedoch zusätzliche Einrichtung.
Aber C# erlaubt keine Vererbung von statischen Klassen. Wie kann ich in diesem Fall also verschiedene Fabriken von der Hauptfabrikklasse (statisch) erben?< /p>
Zum Beispiel, wenn ich eine Fabrik baue BeeFactory als Basisklasse, die über eine Funktion verfügt, die ein Produkt IBee:
zurückgibt
Code: Select all
public BeeFactory
{
public abstract IBee GetBee();
}
Code: Select all
public HoneyBeeFactory : BeeFactory
{
public override IBee GetBee()
{
IBee bee = new Bee();
bee.isMakeHoney = true;
return bee;
}
}
Code: Select all
public QueenBeeFactory : BeeFactory
{
public override IBee GetBee()
{
IBee bee = new Bee();
bee.isMakeHoney = false;
return bee;
}
}
Code: Select all
public static BeeFactory {...}
Mir scheint, dass eine statische Gestaltung der Factory-Basisklasse das Design selbst kaputt macht Da ich nicht davon erben kann, wie kann ich das statische Klassenkonzept im Factory-Muster implementieren? oder worauf bezieht sich das Buch?? Vielen Dank im Voraus.
Der Link zum Buch (https://unity.com/resources/design-patterns-solid-ebook)