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.