Sobes.tech
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.