IoC (Inversion of Control), yazılım geliştirmede bir tasarım prensibidir ve "kontrolün tersine çevrilmesi" anlamına gelir. DI (Dependency Injection), IoC'nin en önemli tekniklerinden biridir. DI, farklı yöntemlerle uygulanabilir: Constructor Injection: Bağımlılıklar, sınıfın yapıcı metoduyla enjekte edilir. Setter Injection: Bağımlılıklar, sınıfın setter metodlarıyla enjekte edilir. Field Injection: Bağımlılıklar doğrudan sınıfın alanlarına enjekte edilir.