Sobes.tech
Intern — Junior

Milleks kasutatakse sõltuvuste sisestamist tarkvaramoodulites?

sobes.tech AI

Vastus AI-lt

Sõltuvuste sisestamine (Dependency Injection, DI) kasutatakse tarkvaramoodulite modulaarsuse ja testitavuse parandamiseks. Selle asemel, et luua sõltuvusi klassi sees, antakse need väljastpoolt, mis võimaldab hõlpsasti asendada teostusi, lihtsustades koodi hooldust ja laiendamist.

Näiteks C#-s saab DI abil sisestada liidese teostuse klassi konstruktorisse:

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) {
        // kasutaja loomise loogika
        _logger.Log($"Kasutaja {name} loodud.");
    }
}

See lähenemine lihtsustab logija asendamist teisega (näiteks faili logija) ilma UserService klassi muutmata.