Junior
Na čo je v vývoji v C# potrebná Dependency Injection?
sobes.tech AI
Odpoveď od AI
Vkladanie závislostí (DI) v C# sa používa na riadenie závislostí medzi triedami, čím sa zvyšuje flexibilita a testovateľnosť kódu.
Hlavné ciele DI:
- Zníženie prepojenia: triedy ne vytvárajú svoje závislosti priamo, ale ich dostávajú zvonku.
- Zjednodušenie testovania: závislosti je ľahké nahradiť mockmi alebo stubmi.
- Zlepšenie údržby: zmena implementácie závislosti nevyžaduje zmenu kódu, ktorý ju používa.
Príklad:
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) {
// logika vytvárania používateľa
_logger.Log($"Používateľ {name} vytvorený.");
}
}
// Vkladanie závislosti
var logger = new ConsoleLogger();
var userService = new UserService(logger);
userService.CreateUser("Alice");
Týmto spôsobom DI podporuje invertovanie riadenia (IoC) a zlepšuje architektúru aplikácie.