Junior
C# geliştirmede Bağımlılık Enjeksiyonu ne işe yarar?
sobes.tech yapay zeka
AI'dan gelen yanıt
C#'ta Bağımlılık Enjeksiyonu (DI), sınıflar arasındaki bağımlılıkları yönetmek için kullanılır, bu da kodun esnekliğini ve test edilebilirliğini artırır.
DI'nin temel amaçları:
- Bağlantıyı zayıflatmak: sınıflar doğrudan bağımlılıklarını oluşturmak yerine, dışarıdan alırlar.
- Testleri kolaylaştırmak: bağımlılıkları kolayca mock veya stub ile değiştirebilirsiniz.
- Bakımı kolaylaştırmak: bir bağımlılığın uygulamasını değiştirmek, onu kullanan kodu değiştirmeyi gerektirmez.
Örnek:
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) {
// kullanıcı oluşturma mantığı
_logger.Log($"Kullanıcı {name} oluşturuldu.");
}
}
// Bağımlılık enjeksiyonu
var logger = new ConsoleLogger();
var userService = new UserService(logger);
userService.CreateUser("Alice");
Bu şekilde, DI kontrolün tersine çevrilmesini (IoC) teşvik eder ve uygulamanın mimarisini iyileştirir.