Junior
Kam skirta Dependency Injection C# kūrime?
sobes.tech AI
Atsakymas iš AI
Priklausomybių injekcija (DI) C# naudojama priklausomybių valdymui tarp klasių, kas padidina kodo lankstumą ir testuojamumą.
Pagrindiniai DI tikslai:
- Sumažinti sujungimą: klasės tiesiogiai nesukuria savo priklausomybių, o jas gauna iš išorės.
- Supaprastinti testavimą: priklausomybes lengvai galima pakeisti su mocks ar stubais.
- Pagerinti priežiūrą: priklausomybės įgyvendinimo keitimas nereikalauja keisti kodo, kuris ją naudoja.
Pavyzdys:
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) {
// naudotojo kūrimo logika
_logger.Log($"Naudotojas {name} sukurtas.");
}
}
// Priklausomybių injekcija
var logger = new ConsoleLogger();
var userService = new UserService(logger);
userService.CreateUser("Alice");
Šiuo būdu DI skatina valdymo inversiją (IoC) ir gerina programos architektūrą.