Sobes.tech
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.