Wpis z mikrobloga

Jak w logiczny sposób można wytłumaczyć wstrzykiwanie zależności (dependency injection)?

Czytałem o tym na kilku stronach i nadal niezbyt rozumiem różnicę między wstrzykiwaniem, a tworzeniem obiektu podczas wywoływania funkcji:

private void temp(wlasnyTyp nazwaElementu){ }
W Angularze jest to używane:

export class NowaKlasa{
contructor(private nazwaElementu: wlasnyTyp) {}
}

#programowanie #angular #csharp
  • 54
@teddybear69: Mówisz o autowiring a nie dependency injection chyba, bo to drugie to właśnie przekazywanie parametrów. Sam kontener też nie koniecznie wstrzykuje automatycznie.
@teddybear69: dokładnie o to chodzi, żeby nie mieć połowy rzeczy i mieć tylko tą drugą połowę, która faktycznie jest w danym miejscu potrzebna. Bo inaczej wszystko zależy od wszystkiego i jak chcesz cokolwiek zmienić, to nagle to się robi bardzo trudne.
Piszę sobie "chcę dostać Bar" i nie interesuje mnie to skąd to dostanę, ważne że działa. Jak to ogarniesz to naprawdę prościej się pisze, a niepotrzebnego kodu jest mniej.
@asciiterror nie zrozumiałeś mnie, to że ty nie potrafisz sobie poradzić z kodem nie jest moim zadaniem powodem, dla którego powinno się unikać konfrontacji z kodem jako wymówkę stosując pseudopomocne wzorce