Bağımlılık enjeksiyonunu kullanmak için mevcut bir sistemi yeniden düzenledim ve bu iş sorunsuz ilerliyor.
Bir süre sonra çok sayıda kurum içi kütüphanenin kullandığım DI çerçevesine bağımlı hale geldiğini fark ettim. Sonuç olarak, tüm proje şimdi bu üçüncü taraf çerçevesine dayanmaktadır.
Tüm bağımlılıkları ortak bir kütüphaneye bağımlı hale getirerek bir ironi gördüm.
İlk tepkim bağımlılık çerçevesi etrafında bir sarıcı kitaplığı oluşturmaktı. Bu nedenle, gerekirse bu çerçeveyi değiştirebilirim. İlgili çalışmayı tahmin ettikten sonra ortaya çıkan API'nin mevcut çerçeveye benzer olacağını fark ettim ve bu nedenle değiştirmeyi daha zor hale getireceğim. Bu yüzden fikri terk ettim.
Benim endişem, kullandığım DI çerçevesinin eski hale gelmesi veya değiştirilmesi gerekiyor.
DI ile çalışırken bir proje ile DI çerçevesi arasındaki bağlantıyı azaltan bir geliştirme modeli var mı?
DIFramework.Get<IService>()
aslında bağımlılık enjeksiyonu değildir; Servis Bulucu adlı ilişkili bir modeldir. Birçok kişi Servis Bulucu'dan hoşlanmaz, çünkü sizi çerçeveye bağlar ve çok kolay kötüye kullanılır (Singleton gibi). Martin Fowler'in