Junior
C#-də Dependency Injection nə üçün istifadə olunur?
sobes.tech Süni İntellekt
AI-dan cavab
C# dilində Bağımlılıq Enjeksiyası (DI), sinflər arasındakı asılılıqları idarə etmək üçün istifadə olunur, bu da kodun çevikliyini və test ediləbilənliyini artırır.
DI-nin əsas məqsədləri:
- Bağlılığı zəiflətmək: sinflər birbaşa öz asılılıqlarını yaratmır, əvəzinə onları xaricdən alır.
- Testləri sadələşdirmək: asılılıqları asanlıqla mock və ya stub ilə dəyişdirmək mümkündür.
- Dəstək və baxımını yaxşılaşdırmaq: asılılığın həyata keçirilməsini dəyişdirmək, onu istifadə edən kodu dəyişdirməyi tələb etmir.
Nümunə:
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) {
// istifadəçi yaradılması loqikası
_logger.Log($"İstifadəçi {name} yaradıldı.");
}
}
// Asılılığın daxil edilməsi
var logger = new ConsoleLogger();
var userService = new UserService(logger);
userService.CreateUser("Alice");
Bu şəkildə, DI idarəetmənin tərsinə çevrilməsini (IoC) təşviq edir və tətbiqin memarlığını yaxşılaşdırır.