Junior
რა მიზნით გამოიყენება Dependency Injection C#-ში?
sobes.tech AI
პასუხი AI-სგან
C#-ში დამოკიდებულების ინექცია (DI) გამოიყენება კლასებს შორის დამოკიდებულებების მართვისთვის, რაც ზრდის კოდის მოქნილობას და ტესტირებადობას.
DI-ის ძირითადი მიზნები:
- მოწყობის გამკაცრება: კლასები პირდაპირ არ ქმნიან თავიანთ დამოკიდებულებებს, არამედ იღებენ მათ გარედან.
- ტესტირების გამარტივება: დამოკიდებულებები ადვილად შეიძლება შეიცვალოს mocks ან stubs-ით.
- მოწყობის გაუმჯობესება: დამოკიდებულების განხორციელების შეცვლა არ საჭიროებს კოდის შეცვლას, რომელიც მას იყენებს.
მაგალითი:
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) {
// მომხმარებლის შექმნის ლოგიკა
_logger.Log($"მომხმარებელი {name} შექმნილია.");
}
}
// დამოკიდებულების ინექცია
var logger = new ConsoleLogger();
var userService = new UserService(logger);
userService.CreateUser("Alice");
ამ გზით, DI ხელს უწყობს კონტროლის უკუღმართ გადატანას (IoC) და აუმჯობესებს აპლიკაციის არქიტექტურას.