Sobes.tech
Junior — Middle

Με ποιους τρόπους μπορεί να υλοποιηθεί η εισαγωγή εξαρτήσεων στους ελεγκτές της εφαρμογής;

sobes.tech AI

Απάντηση από AI

Η εισαγωγή εξαρτήσεων (Dependency Injection, DI) στους ελεγκτές μιας εφαρμογής σε C# μπορεί να υλοποιηθεί με διάφορους τρόπους:

  1. Μέσω του κατασκευαστή — ο πιο συνηθισμένος και συστηνόμενος τρόπος. Οι εξαρτήσεις περνούν μέσω των παραμέτρων του κατασκευαστή του ελεγκτή.
public class MyController : Controller
{
    private readonly IService _service;

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

    public IActionResult Index()
    {
        // Χρήση του _service
        return View();
    }
}
  1. Μέσω ιδιοτήτων (Property Injection) — οι εξαρτήσεις ορίζονται μέσω των ιδιοτήτων του ελεγκτή. Είναι λιγότερο προτιμητέο, καθώς οι εξαρτήσεις μπορεί να μην έχουν αρχικοποιηθεί εγκαίρως.
public class MyController : Controller
{
    [Inject]
    public IService Service { get; set; }
}
  1. Μέσω μεθόδων (Method Injection) — οι εξαρτήσεις περνούν ως παράμετροι στις μεθόδους του ελεγκτή.
public IActionResult Index([FromServices] IService service)
{
    // Χρήση του service
    return View();
}

Στο ASP.NET Core, ο ενσωματωμένος διαχειριστής DI υποστηρίζει όλες αυτές τις μεθόδους, αλλά η εισαγωγή μέσω του κατασκευαστή είναι η πιο καθαρή και εύχρηστη για δοκιμές.