Pytania otagowane jako factory-method


10
Czy jest to anty-wzorzec, jeśli właściwość klasy tworzy i zwraca nową instancję klasy?
Mam klasę o nazwie, Headingktóra robi kilka rzeczy, ale powinna również być w stanie zwrócić przeciwieństwo bieżącej wartości nagłówka, która w końcu musi zostać użyta poprzez utworzenie nowej instancji Headingsamej klasy. Mogę mieć prostą właściwość wywoływaną w reciprocalcelu zwrócenia przeciwnego nagłówka bieżącej wartości, a następnie ręcznie utworzyć nową instancję klasy …

3
Fabryka statyczna vs fabryka jako singleton
W niektórych moich kodach mam statyczną fabrykę podobną do tej: public class SomeFactory { // Static class private SomeFactory() {...} public static Foo createFoo() {...} public static Foo createFooerFoo() {...} } Podczas przeglądu kodu zaproponowano, aby był to singleton i został wstrzyknięty. Powinno to wyglądać tak: public class SomeFactory { …

2
Powinienem był zastosować metodę fabryczną zamiast konstruktora. Czy mogę to zmienić i nadal być kompatybilny wstecz?
Problem Powiedzmy, że mam klasę o nazwie, DataSourcektóra zapewnia ReadDatametodę (i może inne, ale bądźmy prostymi) do odczytu danych z .mdbpliku: var source = new DataSource("myFile.mdb"); var data = source.ReadData(); Kilka lat później postanawiam, że chcę być w stanie obsługiwać .xmlpliki oprócz .mdbplików jako źródeł danych. Implementacja „odczytu danych” jest …

3
Tłumy konstruujące jedno wdrożenie. DI beznadziejny? Używać lokalizatora usług?
Załóżmy, że mamy 1001 klientów, którzy konstruują swoje zależności bezpośrednio, zamiast akceptować zastrzyki. Według naszego szefa refaktoryzacja 1001 nie jest opcją. W rzeczywistości nie mamy nawet dostępu do ich źródła, tylko do plików klas. Powinniśmy „zmodernizować” system, przez który przechodzi 1001 klientów. Możemy refaktoryzować to, co lubimy. Zależności są częścią …


3
Unikanie konstruktorów z wieloma argumentami
Mam więc fabrykę, która tworzy obiekty różnych klas. Wszystkie możliwe klasy pochodzą od abstrakcyjnego przodka. Fabryka ma plik konfiguracyjny (składnia JSON) i decyduje, którą klasę utworzyć, w zależności od konfiguracji użytkownika. Aby to osiągnąć, fabryka używa boost :: property_tree do parsowania JSON. Przechodzi przez ptree i decyduje, który konkretny obiekt …
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.