Intern — Junior
Dastur modullarida bog'liqliklarni injektsiya qilish nima uchun ishlatiladi?
sobes.tech AI
AIdan javob
Dependency Injection (DI) dasturiy modullarni modullik va test qilish imkoniyatini oshirish uchun ishlatiladi. Klass ichida bog'liqliklarni yaratish o'rniga, ular tashqaridan uzatiladi, bu esa amalga oshirishlarni oson almashtirish, kodni qo'llab-quvvatlash va kengaytirishni soddalashtiradi.
Masalan, C# da DI yordamida interfeysning amalga oshirilishini klass konstruktoriga uzatish mumkin:
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) {
// foydalanuvchi yaratish logikasi
_logger.Log($"Foydalanuvchi {name} yaratildi.");
}
}
Bu yondashuv, loggerni boshqa (masalan, faylga yozuvchi) bilan almashtirishni, UserService klassini o'zgartirmasdan osonlashtiradi.