Junior
Zašto je Dependency Injection potreban u razvoju na C#?
sobes.tech АИ
Одговор од АИ
Umetanje zavisnosti (DI) u C# se koristi za upravljanje zavisnostima između klasa, čime se povećava fleksibilnost i testabilnost koda.
Glavni ciljevi DI:
- Slabljenje povezanosti: klase ne kreiraju svoje zavisnosti direktno, već ih dobijaju spolja.
- Pojednostavljenje testiranja: lako je zameniti zavisnosti sa mock-ovima ili stubovima.
- Poboljšanje održivosti: promena implementacije zavisnosti ne zahteva promenu koda koji je koristi.
Primer:
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 kreiranja korisnika
_logger.Log($"Korisnik {name} kreiran.");
}
}
// Umetanje zavisnosti
var logger = new ConsoleLogger();
var userService = new UserService(logger);
userService.CreateUser("Alice");
Na ovaj način, DI podstiče inverziju kontrole (IoC) i poboljšava arhitekturu aplikacije.