Intern — Junior
Mire használják a függőség injektálást a szoftver modulokban?
sobes.tech MI
Válasz az MI-től
A függőséginjektálás (Dependency Injection, DI) a szoftvermodulok modularitásának és tesztelhetőségének növelésére szolgál. Ahelyett, hogy a függőségeket a osztályon belül hoznánk létre, kívülről adjuk át őket, ami megkönnyíti a megvalósítások cseréjét, egyszerűsíti a karbantartást és a kód bővítését.
Például C#-ban a DI segítségével egy interfész megvalósítását át lehet adni az osztály konstruktorának:
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) {
// felhasználó létrehozási logika
_logger.Log($"Felhasználó {name} létrehozva.");
}
}
Ez a megközelítés megkönnyíti a logger cseréjét másra (pl. fájlra) anélkül, hogy módosítanánk a UserService osztályt.