Sobes.tech
Junior

La ajutorul cărei tehnici este folosit Dependency Injection în dezvoltarea C#?

sobes.tech AI

Răspuns de la AI

Injectarea de dependințe (DI) în C# este utilizată pentru gestionarea dependențelor între clase, ceea ce crește flexibilitatea și testabilitatea codului.

Obiectivele principale ale DI:

  • Reducerea cuplajului: clasele nu creează direct dependențele lor, ci le primesc din exterior.
  • Simplificarea testării: dependențele pot fi ușor înlocuite cu mock-uri sau stubs.
  • Îmbunătățirea întreținerii: schimbarea implementării unei dependențe nu necesită modificarea codului care o utilizează.

Exemplu:

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 creării utilizatorului
        _logger.Log($"Utilizator {name} creat.");
    }
}

// Injectarea dependenței
var logger = new ConsoleLogger();
var userService = new UserService(logger);
userService.CreateUser("Alice");

Astfel, DI promovează inversarea controlului (IoC) și îmbunătățește arhitectura aplicației.