/Bağımlılık Enjeksiyonu ve IoC Konteynerlerini kullanmanın faydaları nelerdir?
Bağımlılık Enjeksiyonu ve IoC Konteynerlerini kullanmanın faydaları nelerdir?
Bağımlılık Enjeksiyonu ve IoC Konteynerleri hakkında bir konuşma yapmayı planlıyorum ve bunu kullanmak için bazı iyi argümanlar arıyorum.
Bu tekniği ve bu araçları kullanmanın en önemli faydaları nelerdir?
15 Kas 2010 Andy Lowry
En önemlisi, benim için Tek Sorumluluk İlkesi 'yi takip etmeyi kolaylaştırmak.
DI/IoC, nesneler arasındaki bağımlılıkları yönetmemi kolaylaştırıyor. Buna karşılık, benim için tutarlı işlevselliği kendi sözleşmesine (arayüzüne) ayırmamı kolaylaştırıyor. Sonuç olarak, DI/IoC öğrendiğimden beri kodum çok daha modüler hale geldi.
Bunun bir başka sonucu da Açık-Kapalı Prensibi 'ı destekleyen bir tasarıma geçmeyi çok daha kolay görebilmemdir. Bu en güven verici tekniklerden biridir (yalnızca otomatik testten sonra ikinci). Açık-Kapalı İlke'nin erdemlerini yeterince benimseyebileceğimden şüpheliyim.
DI/IoC, programlama kariyerimde "oyun değiştirici" olan birkaç şeyden biri. DI/IoC öğrenmeden önce ve sonra yazdığım kod arasında bir huge kalite boşluğu var. Bunu biraz daha vurgulayayım. [~ # ~] Kod kalitesinde büyük [~ # ~] iyileştirme.
15 Kas 2010 quentin-starin
Gözlerimi gerçekten açan örnekler, böyle bir tarzda yaratılan nesneleri kolayca birim olarak test etmeyi nasıl mümkün kıldığını görüyordu. Bundan önce, bir birim testi için nesneleri izole etmeye çalışırken sorun yaşadım. Sık sık çok daha büyük bir sistemle etkileşim için testler yazardım. Bu gerçekten zordu çünkü sistem bir bütün olarak tek tek bileşenlerden çok daha az tahmin edilebilir ve değişime daha yatkındır.
16 Kas 2010 Winston Ewert
Bağımlılık enjeksiyonlarının avantajları:
Kodunuz temiz ve daha okunabilir.
Kodlar gevşek bağlanmış.
Uygulamalar XML dosyasında yapılandırıldığından daha fazla kullanılabilir, farklı bir bağlamda kullanılabilir.
Farklı sahte uygulamalarla kod kolayca test edilebilir.
20 Nis 2016 Solaimani SA
Bence gerçek faydalar teknik olmaktan daha politik. DI sadece Servis Buluc modeline bir alternatiftir, başka bir şey değildir. Kendi başına, SRP veya OCP gibi ilkeleri takip etmeyi veya katmanları ayırmayı kolaylaştırmaz. Buradaki diğer katılımcılar farklı kavram ve teknikleri karıştırıyorlar, IMO.
Servis Bulucuları kullanarak veya uygulanabilir olduğunda doğrudan bağımlılıkları somutlaştırarak (çoğu zaman), yüksek uyum ve düşük kuplaj ile aynı hedefleri gerçekleştirebilirsiniz.
Şimdi, birçok kişinin bu görüşe katılmayacağını biliyorum. Somut örnekleri tartışmaktan memnuniyet duyarım.
15 Ara 2010 Rogério
Gerçekten MVC nedir?
Yalnızca bir sınıfın onu uygulayacağı bir arayüz kullanmam gerekir mi?
Bir Satranç Oyunu oluştururken Gözlemci kalıbı kullanmak iyi bir fikir midir?
Tasarım kalıpları kaşlarını çattı mı?
"Her Şeyi Düzelt" tasarım modeli nedir?
Dairesel bağımlılık nasıl çözülür?
Singletons hakkında bu kadar kötü olan ne?
Java çekirdek kütüphanelerinde GoF Design Pattern örnekleri
Android'de MVC deseni
Havuz Deseni Adım Adım Açıklama
Neden __init __ () her zaman __new __ () işlevinden sonra çağrılır?