Sobes.tech
Junior — Middle

Kādiem veidiem nodrošina atkarību ieviešanu kodā?

sobes.tech AI

Atbilde no AI

Atkarību injekcija (Dependency Injection, DI) C# parasti tiek īstenota šādi:

  1. Caur konstruktoru — atkarības tiek nodotas klasei caur konstruktoru parametriem. Šis ir visbiežāk izmantotais un ieteicamais veids.
public class Service {
    private readonly IRepository _repository;

    public Service(IRepository repository) {
        _repository = repository;
    }
}
  1. Caur īpašībām (Property Injection) — atkarības tiek iestatītas caur klases īpašībām.
public class Service {
    public IRepository Repository { get; set; }
}
  1. Caur metožu (Method Injection) — atkarības tiek nodotas metodēm, kas tās izmanto.
public class Service {
    public void Execute(IRepository repository) {
        // repository izmantošana
    }
}

Lai pārvaldītu atkarības, bieži tiek izmantoti DI konteineri (piemēram, Microsoft.Extensions.DependencyInjection), kas automātiski izveido un nodrošina nepieciešamos objektus.

Šādā veidā atkarību injekcija ļauj kodam būt modulārākam, testējamas un vieglāk uzturamas.