7

I zostały próbuje dowiedzieć się o wstrzykiwania zależności i zostały czytania o i próbuje zakodować małą Dependency Injection pojemnik podobny do tego: http://fabien.potencier.org/article/12/do-you-need-a-dependency-injection-containerDependency Injection Container - Wzór Fabryka

Jedna rzecz, która jest mylące mnie jest to :

Czy nie jest to pojemnik do wstrzykiwania zależności, tylko gloryfikowana realizacja wzoru fabrycznego?

Jeśli tak, dlaczego po prostu nie nazwać tego, dlaczego potrzeba wymyślnego terminu tylko w celu pomylenia spraw.

Jeśli tak nie jest, czy ktoś może wyjaśnić, czego tu brakuje?

+1

możliwe duplikat [Dependency Injection vs Wzór fabryczne] (http: // stackoverflow. com/questions/557742/dependency-injection-vs-factory-pattern) – podiluska

+1

"Dependency Injection" jest dużo szerszym terminem niż "Dependency Injection Container". Łatwo zauważyć różnicę między DI a Fabryką, nie tak łatwo zauważyć różnicę między pojemnikiem DI a fabryką. Więc nie sądzę, żeby to było duplikatem pytanie. – Russ

Odpowiedz

7

Należy oddzielić wtrysk zależności i odwrócenie sterowania.

Dependency Injection polega na tym, że wstrzykujesz zależności do klasy, zamiast pozwalać, aby klasa była odpowiedzialna za swoje zależności.

Inwersja kontroli to raczej coś, co przejmuje kontrolę nad przedmiotem i jego życiem. W takim przypadku od pojemnika zależy decyzja, kiedy i jak obiekt ma zostać utworzony i usunięty.

Fabryczny wzór polega na tworzeniu nowego obiektu przy każdym połączeniu. Sam wzór nie mówi nic o tym, jak powinny być tworzone zależności.

Dzięki temu można skonfigurować różne okresy życia i używać kontenerów podrzędnych do kontrolowania obiektów o ograniczonym okresie użytkowania.

pisałem artykuł o tym tutaj: http://www.codeproject.com/Articles/386164/Get-injected-into-the-world-of-inverted-dependenci

Lub jeśli chcesz zobaczyć więcej przykładów z: http://www.codeproject.com/Articles/440665/Having-fun-with-Griffin-Container

Powiązane problemy