Sobes.tech
Intern — Junior

Pentru ce este utilizată injecția de dependențe în modulele software?

sobes.tech AI

Răspuns de la AI

Injectarea dependențelor (Dependency Injection, DI) este utilizată pentru a crește modularitatea și testabilitatea modulelor software. În loc să creeze dependențe în interiorul clasei, acestea sunt transmise din exterior, ceea ce permite înlocuirea ușoară a implementărilor, simplificând întreținerea și extinderea codului.

De exemplu, în C# cu DI, se poate transmite implementarea unei interfețe în constructorul clasei:

public interface ILogger {
    void Log(string message);
}

public class ConsoleLogger : ILogger {
    public void Log(string message) {
        Console.WriteLine(message);
    }
}

public class UserService {
    private readonly ILogger _logger;

    public UserService(ILogger logger) {
        _logger = logger;
    }

    public void CreateUser(string name) {
        // logica de creare a utilizatorului
        _logger.Log($"Utilizator {name} creat.");
    }
}

Această abordare facilitează înlocuirea logger-ului cu altul (de exemplu, fișier) fără a modifica clasa UserService.