Pytania otagowane jako constructors

9
Dlaczego powinienem używać klasy fabrycznej zamiast bezpośredniej konstrukcji obiektu?
Widziałem historię kilku projektów bibliotek klas С # i Java na GitHub i CodePlex, i widzę trend przechodzenia do klas fabrycznych w przeciwieństwie do bezpośredniego tworzenia instancji obiektów. Dlaczego powinienem intensywnie korzystać z klas fabrycznych? Mam całkiem niezłą bibliotekę, w której obiekty są tworzone w staromodny sposób - przy użyciu …

12
Czy jest jakiś powód, aby wykonywać całą pracę obiektu w konstruktorze?
Pozwolę sobie powiedzieć, że nie jest to mój kod ani kod moich współpracowników. Wiele lat temu, kiedy nasza firma była mniejsza, mieliśmy pewne projekty, które musieliśmy wykonać, do których nie mieliśmy możliwości, więc zostały zlecone na zewnątrz. Teraz nie mam nic przeciwko outsourcingowi ani ogólnie wykonawcom, ale baza kodów, którą …

7
Czy używanie „nowego” w konstruktorze jest zawsze złe?
Czytałem, że użycie „nowego” w konstruktorze (dla dowolnych obiektów innych niż te o prostej wartości) jest złą praktyką, ponieważ uniemożliwia testowanie jednostkowe (ponieważ wtedy też trzeba stworzyć tych współpracowników i nie można ich wyśmiewać). Ponieważ tak naprawdę nie mam doświadczenia w testowaniu jednostkowym, staram się zebrać kilka zasad, których najpierw …

9
Sprawdzanie poprawności parametrów konstruktora w C # - Najlepsze praktyki
Jaka jest najlepsza praktyka do sprawdzania poprawności parametrów konstruktora? Załóżmy prosty C #: public class MyClass { public MyClass(string text) { if (String.IsNullOrEmpty(text)) throw new ArgumentException("Text cannot be empty"); // continue with normal construction } } Czy można zgodzić się na wyjątek? Alternatywą, którą napotkałem, była wstępna weryfikacja, przed utworzeniem …


3
Czy metoda „start”, „uruchom” lub „uruchom” jest dobrą praktyką?
Obecnie pracuję nad bazą kodu, która ma wiele klas, które implementują metodę Start. Wydaje mi się to konstrukcją dwufazową, co zawsze uważałem za złą praktykę. Nie umiem odróżnić tego od konstruktora. Kiedy należy zastosować metodę początkową zamiast normalnej konstrukcji obiektu? Kiedy powinienem używać konstruktora? Edycja: Nie sądzę, że jest to …

3
Opcjonalne parametry lub przeciążone konstruktory
Wdrażam a DelegateCommand, kiedy miałem zaimplementować konstruktora (-ów), zaproponowałem dwie następujące opcje projektu: 1: Posiadanie wielu przeciążonych konstruktorów public DelegateCommand(Action<T> execute) : this(execute, null) { } public DelegateCommand(Action<T> execute, Func<T, bool> canExecute) { this.execute = execute; this.canExecute = canExecute; } 2: Posiadanie tylko jednego konstruktora z opcjonalnym parametrem public DelegateCommand(Action<T> …

5
Dlaczego używanie konstruktorów w ustawieniach nie stało się powszechnym wzorcem?
Akcesoria i modyfikatory (znane również jako setery i gettery) są przydatne z trzech głównych powodów: Ograniczają dostęp do zmiennych. Na przykład można uzyskać dostęp do zmiennej, ale nie można jej modyfikować. Sprawdzają poprawność parametrów. Mogą powodować pewne działania niepożądane. Uniwersytety, kursy online, samouczki, artykuły na blogach i przykłady kodu w …

4
Uzasadniona „prawdziwa praca” w konstruktorze?
Pracuję nad projektem, ale wciąż uderzam w przeszkodę. Mam określoną klasę (ModelDef), która jest zasadniczo właścicielem złożonego drzewa węzłów zbudowanego przez analizowanie schematu XML (think DOM). Chcę przestrzegać dobrych zasad projektowania (SOLID) i upewnić się, że powstały system jest łatwo testowalny. Mam zamiar używać DI do przekazywania zależności do konstruktora …

5
Jak rozłożyć konstruktor?
Powiedzmy, że mam klasę wroga, a konstruktor wyglądałby mniej więcej tak: public Enemy(String name, float width, float height, Vector2 position, float speed, int maxHp, int attackDamage, int defense... etc.){} Wygląda to źle, ponieważ konstruktor ma tak wiele parametrów, ale kiedy tworzę instancję wroga, muszę określić wszystkie te rzeczy. Chcę również …


3
jak skomplikowany powinien być konstruktor
Rozmawiam z moim współpracownikiem o tym, ile pracy może wykonać konstruktor. Mam klasę B, która wewnętrznie wymaga innego obiektu A. Obiekt A jest jednym z niewielu elementów, których klasa B potrzebuje do wykonania swojej pracy. Wszystkie jego publiczne metody zależą od wewnętrznego obiektu A. Informacje o obiekcie A są przechowywane …
18 c#  constructors 



6
Jak pisać konstruktory, które nie mogą poprawnie utworzyć instancji obiektu
Czasami musisz napisać konstruktor, który może zawieść. Powiedzmy na przykład, że chcę utworzyć instancję obiektu ze ścieżką do pliku, coś w rodzaju obj = new Object("/home/user/foo_file") Dopóki ścieżka wskazuje odpowiedni plik, wszystko jest w porządku. Ale jeśli łańcuch nie jest prawidłową ścieżką, rzeczy powinny się zepsuć. Ale jak? Mógłbyś: rzuć …

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.