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:
- 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();
}
}
- 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; }
}
- 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.