Junior
Milleks on vajalik Dependency Injection C# arenduses?
sobes.tech AI
Vastus AI-lt
Sõltuvuste süstimine (DI) C#-s kasutatakse sõltuvuste haldamiseks klasside vahel, suurendades koodi paindlikkust ja testitavust.
DI peamised eesmärgid:
- Vähendada sidusust: klassid ei loo otse oma sõltuvusi, vaid saavad need väljast.
- Testimise lihtsustamine: sõltuvusi saab hõlpsasti asendada mock-ide või stub-idega.
- Hooldatavuse parandamine: sõltuvuse rakendust saab muuta ilma selle kasutavat koodi muutmata.
Näide:
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.");
}
}
// Sõltuvuse sisestamine
var logger = new ConsoleLogger();
var userService = new UserService(logger);
userService.CreateUser("Alice");
Sellisel viisil soodustab DI kontrolli pöördumist (IoC) ja parandab rakenduse arhitektuuri.