Als «factory-method» getaggte Fragen


10
Ist es ein Anti-Pattern, wenn eine Klasseneigenschaft eine neue Instanz einer Klasse erstellt und zurückgibt?
Ich habe eine Klasse namens Heading, die ein paar Dinge tut, aber sie sollte auch das Gegenteil des aktuellen Heading-Werts zurückgeben können, der schließlich verwendet werden muss, indem eine neue Instanz der HeadingKlasse selbst erstellt wird. Ich kann eine einfache Eigenschaft haben, die aufgerufen wird reciprocal, um die entgegengesetzte Überschrift …

3
Statische Fabrik gegen Fabrik als Singleton
In einigen meiner Codes habe ich eine statische Factory, die der folgenden ähnelt: public class SomeFactory { // Static class private SomeFactory() {...} public static Foo createFoo() {...} public static Foo createFooerFoo() {...} } Während einer Codeüberprüfung wurde vorgeschlagen, dass dies ein Singleton sein und injiziert werden sollte. Also sollte …

2
Ich hätte eine Factory-Methode anstelle eines Konstruktors verwenden sollen. Kann ich das ändern und trotzdem abwärtskompatibel sein?
Das Problem Nehmen wir an, ich habe eine Klasse namens, DataSourcedie eine ReadDataMethode (und vielleicht auch andere, aber lassen Sie uns die Dinge einfach halten) zum Lesen von Daten aus einer .mdbDatei bereitstellt : var source = new DataSource("myFile.mdb"); var data = source.ReadData(); Ein paar Jahre später entscheide ich mich, …

3
Eine Vielzahl von Implementierungen. DI hoffnungslos? Service Locator verwenden?
Angenommen, wir haben 1001 Clients, die ihre Abhängigkeiten direkt aufbauen, anstatt Injektionen zu akzeptieren. Das Refactoring des 1001 ist laut unserem Chef keine Option. Wir haben nicht einmal Zugriff auf ihre Quelle, nur auf die Klassendateien. Wir sollen das System, das diese 1001 Clients durchlaufen, "modernisieren". Wir können alles umgestalten, …


3
Vermeiden Sie Konstruktoren mit vielen Argumenten
Ich habe also eine Fabrik, die Objekte verschiedener Klassen erstellt. Die möglichen Klassen stammen alle von einem abstrakten Vorfahren. Die Factory verfügt über eine Konfigurationsdatei (JSON-Syntax) und entscheidet abhängig von der Konfiguration des Benutzers, welche Klasse erstellt werden soll. Um dies zu erreichen, verwendet die Factory boost :: property_tree für …

3
"Factory Method ist eine Spezialisierung der Template Method". Wie?
Ähnlichkeiten und Unterschiede zwischen den beiden: Vorlagenmethode Verlässt sich auf Vererbung. Definiert die Schritte eines Algorithmus und überlässt die Implementierung dieser Schritte Unterklassen. Fabrikmethode Verlässt sich auf Vererbung. Eine Oberklasse definiert eine Schnittstelle zum Erstellen eines Objekts. Unterklassen entscheiden, welche konkrete Klasse instanziiert werden soll. Die beiden nebeneinander: Ich bin …
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.