Sobes.tech
Junior — Middle

Кадом усулҳо дар дохили код чӣ гуна таъмин мекунанд?

sobes.tech AI

Ҷавоб аз AI

Вуруд кардани вобастагиҳо (Dependency Injection, DI) дар C# одатан бо роҳҳои зерин амалӣ карда мешавад:

  1. Тарзи сохтани (Constructor) — вобастагиҳо тавассути параметрҳои конструктор ба синф гузошта мешаванд. Ин усули маъмултарин ва тавсияшуда мебошад.
public class Service {
    private readonly IRepository _repository;

    public Service(IRepository repository) {
        _repository = repository;
    }
}
  1. Тарзи хусусиятҳо (Property Injection) — вобастагиҳо тавассути хусусиятҳои синф муқаррар мешаванд.
public class Service {
    public IRepository Repository { get; set; }
}
  1. Тарзи усулҳо (Method Injection) — вобастагиҳо ба усулҳое дода мешаванд, ки онҳоро истифода мебаранд.
public class Service {
    public void Execute(IRepository repository) {
        // истифодаи repository
    }
}

Барои идоракунии вобастагиҳо, одатан контейнерҳои DI (масалан, Microsoft.Extensions.DependencyInjection) истифода мешаванд, ки автоматӣ объектҳои заруриро месозанд ва таъмин мекунанд.

Ин роҳ имкон медиҳад, ки коди вобастагиҳо бештар модулӣ, тестшаванда ва нигоҳдории осон бошад.