Junior
Na co je v vývoji v C# potřeba Dependency Injection?
sobes.tech AI
Odpověď od AI
Injekce závislostí (DI) v C# se používá k řízení závislostí mezi třídami, což zvyšuje flexibilitu a testovatelnost kódu.
Hlavní cíle DI:
- Slabší propojení: třídy nevytvářejí své závislosti přímo, ale je přijímají zvenčí.
- Zjednodušení testování: závislosti lze snadno nahradit mocky nebo stuby.
- Zlepšení údržby: změna implementace závislosti nevyžaduje změnu kódu, který ji používá.
Pří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áření uživatele
_logger.Log($"Uživatel {name} vytvořen.");
}
}
// Injektáž závislosti
var logger = new ConsoleLogger();
var userService = new UserService(logger);
userService.CreateUser("Alice");
Tímto způsobem DI podporuje inverzi řízení (IoC) a zlepšuje architekturu aplikace.