Sobes.tech
Junior — Middle

Tətbiqin idarəedicilərində asılılıqların inyeksiyasını necə həyata keçirmək olar?

sobes.tech Süni İntellekt

AI-dan cavab

C# tətbiqində kontrollerlərə asılılıqların (Dependency Injection, DI) daxil edilməsi müxtəlif yollarla həyata keçirilə bilər:

  1. Konstruktor vasitəsilə — ən yaygın və tövsiyə olunan üsul. Asılılıqlar kontrollerin konstruktor parametrləri vasitəsilə ötürülür.
public class MyController : Controller
{
    private readonly IService _service;

    public MyController(IService service)
    {
        _service = service;
    }

    public IActionResult Index()
    {
        // _service istifadə
        return View();
    }
}
  1. Xüsusiyyətlər vasitəsilə (Property Injection) — asılılıqlar kontrollerin xüsusiyyətləri vasitəsilə qurulur. Daha az tövsiyə olunur, çünki asılılıqlar vaxtında qurulmaya bilər.
public class MyController : Controller
{
    [Inject]
    public IService Service { get; set; }
}
  1. Yöntemlər vasitəsilə (Method Injection) — asılılıqlar kontrollerin metodlarına parametr kimi ötürülür.
public IActionResult Index([FromServices] IService service)
{
    // service istifadə
    return View();
}

ASP.NET Core-da daxili DI konteyneri bu bütün üsulları dəstəkləyir, lakin konstruktor vasitəsilə daxil etmə ən təmiz və test üçün ən əlverişlidir.