Sobes.tech
Junior — Middle

Kokiais metodais užtikrinama priklausomybių diegimas kode?

sobes.tech AI

Atsakymas iš AI

Priklausomybių injekcija (Dependency Injection, DI) C# dažniausiai įgyvendinama šiais būdais:

  1. Per konstruktorių — priklausomybės perduodamos klasei per konstruktoriaus parametrus. Tai yra dažniausiai naudojamas ir rekomenduojamas būdas.
public class Service {
    private readonly IRepository _repository;

    public Service(IRepository repository) {
        _repository = repository;
    }
}
  1. Per savybes (Property Injection) — priklausomybės nustatomos per klasės savybes.
public class Service {
    public IRepository Repository { get; set; }
}
  1. Per metodus (Method Injection) — priklausomybės perduodamos į metodus, kurie jas naudoja.
public class Service {
    public void Execute(IRepository repository) {
        // naudojamas repository
    }
}

Priklausomybių valdymui dažnai naudojami DI konteineriai (pvz., Microsoft.Extensions.DependencyInjection), kurie automatiškai kuria ir teikia reikalingus objektus.

Šiuo būdu, priklausomybių injekcija leidžia kodą padaryti moduliškesnį, testuojamą ir lengviau prižiūrimą.