Pytania otagowane jako dependency-injection

Wstrzykiwanie zależności, to wzorzec projektowy, w którym zależności (wystąpienia obiektów, właściwości) komponentu są ustawiane za pomocą konstruktora (ów), metod lub pól (właściwości). Jest to specjalna forma bardziej ogólnej inwersji zależności.

13
Więc Singletony są złe, co wtedy?
Ostatnio dyskutowano o problemach z używaniem (i nadużywaniem) Singletonów. Byłem także jedną z tych osób wcześniej w mojej karierze. Widzę, na czym polega teraz problem, a jednak wciąż jest wiele przypadków, w których nie widzę fajnej alternatywy - i niewiele dyskusji na temat Singleton naprawdę ją oferuje. Oto prawdziwy przykład …



8
Krytyka i wady zastrzyku uzależnienia
Wstrzykiwanie zależności (DI) jest dobrze znanym i modnym wzorem. Większość inżynierów zna jego zalety, takie jak: Umożliwienie / łatwość izolacji podczas testów jednostkowych Jawne definiowanie zależności klasy Ułatwienie dobrego projektu ( na przykład zasada pojedynczej odpowiedzialności ) Szybkie włączanie implementacji przełączania ( DbLoggerzamiast ConsoleLoggerna przykład) Uważam, że istnieje ogólna zgoda …


9
Zrozumienie wstrzykiwania zależności
Czytam o iniekcji zależności (DI). Dla mnie jest to bardzo skomplikowana rzecz, ponieważ czytałem, że odnosi się to również do inwersji kontroli (IoC) i czułem, że będę w podróży. Rozumiem to: zamiast tworzyć model w klasie, która również go zużywa, przekazujesz (wstrzykujesz) model (już wypełniony interesującymi właściwościami) tam, gdzie jest …

5
Jaka jest różnica między używaniem wstrzykiwania zależności w kontenerze a używaniem lokalizatora usług?
Rozumiem, że bezpośrednie tworzenie instancji zależności w klasie jest uważane za złą praktykę. Ma to sens, ponieważ tak ścisłe łączenie wszystkiego, co z kolei sprawia, że ​​testowanie jest bardzo trudne. Prawie wszystkie frameworki, które spotkałem, wydają się faworyzować wstrzykiwanie zależności za pomocą kontenera niż używanie lokalizatorów usług. Oba wydają się …

11
(Dlaczego) ważne jest, aby test jednostkowy nie testował zależności?
Rozumiem wartość automatycznego testowania i używam go wszędzie tam, gdzie problem jest wystarczająco dokładnie określony, że mogę wymyślić dobre przypadki testowe. Zauważyłem jednak, że niektórzy ludzie tutaj i na StackOverflow kładą nacisk na testowanie tylko jednostki, a nie jej zależności. Tutaj nie widzę korzyści. Wyśmiewanie / odgałęzienie w celu uniknięcia …

18
Zastrzyk zależności: jak go sprzedać [zamknięte]
Poinformuj mnie, że jestem wielkim fanem wstrzykiwania zależności (DI) i testów automatycznych. Mógłbym o tym rozmawiać cały dzień. tło Niedawno nasz zespół właśnie dostał ten duży projekt, który ma powstać od podstaw. Jest to strategiczna aplikacja o złożonych wymaganiach biznesowych. Oczywiście chciałem, żeby był ładny i czysty, co dla mnie …

7
Czy powinienem używać wtrysku zależności lub statycznych?
Projektując system, często napotykam problem polegający na tym, że wiele modułów (logowanie, dostęp do bazy danych itp.) Jest używanych przez inne moduły. Pytanie brzmi: jak przejść do dostarczania tych komponentów innym komponentom. Dwie odpowiedzi wydają się możliwe wstrzyknięcie zależności lub użycie wzorca fabrycznego. Jednak oba wydają się błędne: Fabryki sprawiają, …


7
Zarządzanie i organizacja znacznie większej liczby klas po przejściu na SOLID?
W ciągu ostatnich kilku lat powoli przechodziliśmy na stopniowo coraz lepszy kod, kilka kroków naraz. W końcu zaczynamy przestawiać się na coś, co przynajmniej przypomina SOLID, ale jeszcze tam nie jesteśmy. Od czasu dokonania zmiany, jednym z największych zarzutów ze strony programistów jest to, że nie mogą znieść recenzowania i …

3
Co to jest zastrzyk konstruktora?
Podczas przeglądania artykułów na temat wzorców projektowych (lokalizator usług) przyglądałem się terminom wstrzykiwanie konstruktora i wstrzykiwanie zależności. Kiedy przejrzałem Google na temat wstrzykiwania konstruktora, otrzymałem niejasne wyniki, które skłoniły mnie do sprawdzenia się tutaj. Co to jest zastrzyk konstruktora? Czy to specyficzny rodzaj wstrzyknięcia zależności? Świetnym rozwiązaniem byłby kanoniczny przykład! …


7
Kiedy NIE należy stosować zasady odwrócenia zależności?
Obecnie próbuję znaleźć SOLID. Zatem zasada inwersji zależności oznacza, że ​​dowolne dwie klasy powinny komunikować się za pośrednictwem interfejsów, a nie bezpośrednio. Przykład: Jeśli class Ama metodę, która oczekuje wskaźnika do obiektu typu class B, wówczas metoda ta powinna faktycznie oczekiwać obiektu typu abstract base class of B. Pomaga to …

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.