Sobes.tech
Intern — Junior

Bağımlılık enjeksiyonu yazılım modüllerinde ne için kullanılır?

sobes.tech yapay zeka

AI'dan gelen yanıt

Bağımlılık Enjeksiyonu (Dependency Injection, DI), yazılım modüllerinin modülerliğini ve test edilebilirliğini artırmak için kullanılır. Bir sınıf içinde bağımlılıkları oluşturmak yerine, dışarıdan geçirilirler, bu da uygulamaları kolayca değiştirmeyi, kodun bakımını ve genişletilmesini kolaylaştırır.

Örneğin, C#'ta DI kullanarak, bir arayüzün uygulamasını sınıfın yapıcısına geçirebilirsiniz:

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.");
    }
}

Bu yaklaşım, logger'ı başka bir şeyle (örneğin, dosya) değiştirmeyi, UserService sınıfını değiştirmeden kolaylaştırır.