O co chodzi w Dependency Injection?

Dependency Injection (Wstrzykiwanie Zależności) jest istotnym elementem w programowaniu obiektowym. Jest to technika, która która polega na tym aby zależność wprowadzić do obiektu z zewnątrz na przykład poprzez konstruktor danej klasy. A po co taki zabieg? Ponieważ pomaga nam w tworzeniu bardziej elastycznych, testowalnych i zrozumiałych aplikacji.

Po co używać Dependency Injection?

  1. Separacja Odpowiedzialności: Wstrzykiwanie zależności pomaga nam oddzielić odpowiedzialność za tworzenie obiektów od ich użycia. Obiekt nie musi znać szczegółów implementacyjnych swoich zależności, po prostu dostaje je gotowe.
  2. Testowalność: Wstrzykiwanie zależności ułatwia testowanie jednostkowe. Możemy zamockować potrzebne obiekty na przykład DbContext a następnie go wstrzyknąć do testowanej klasy.
  3. Łatwość Zmian i Rozszerzalność: Poprzez Dependency Injection, aplikacje stają się bardziej elastyczne. Nie trzeba zmieniać kodu w kilku miejscach wystarczy odpowiednio dostosować lub podmienić wstrzykiwany obiekt.

Sposoby implementacji w C#

Konstruktor
public class OrderService
{
    private readonly IOrderRepository _orderRepository;

    public OrderService(IOrderRepository orderRepository)
    {
        _orderRepository = orderRepository;
    }

    // Metody OrderService...
}
Właściwości
public class OrderService
{
    public IOrderRepository OrderRepository { get; set; }

    // Metody OrderService...
}
Dedykowane metody
public class OrderService
{
    public void SetOrderRepository(IOrderRepository orderRepository)
    {
        // Ustawienie zależności
    }

    // Metody OrderService...
}

I na tym właśnie polega Dependency Injection.


To tyle, dzięki. Mam nadzieję, że w jakiś sposób było to dla Ciebie przydatne.

Jeśli masz jakieś pytania pytaj śmiało. Możesz odwiedzić mojego instagrama o tutaj. Pokazuje tam tego co aktualnie się uczę i różne inne rzeczy. Zapraszam!

Scroll to Top