Spring'i, düşündüğünüz Bağımlılık Enjeksiyon çerçeveleri listenize dahil etmek isteyebilirsiniz. İşte sorularınıza bazı cevaplar:
Çerçeveye bağlantı
Pico - Pico, ayarlayıcı enjeksiyonunu engelleme eğilimindedir, ancak bunun dışında, sınıflarınızın Pico hakkında bilgi sahibi olmasına gerek yoktur. Bilmesi gereken yalnızca kablolamadır (tüm DI çerçeveleri için geçerlidir).
Guice - Guice artık standart JSR 330 açıklamalarını destekliyor , böylece artık kodunuzda Guice'e özgü ek açıklamalara ihtiyacınız yok. Bahar ayrıca bu standart açıklamaları destekler. Guice elemanlarının kullandığı argüman, bir Guice açıklama işlemcisi çalışmadan, farklı bir çerçeve kullanmaya karar verirseniz bunların bir etkisi olmayacağıdır.
İlkbahar - Bahar, kodunuzda Bahar çerçevesinden herhangi bir şekilde bahsetmemenizi sağlamayı amaçlar. Pek çok başka yardımcıları / araçları vb. Olduğundan, Bahar koduna bağlı olmak oldukça güçlüdür.
Verim
Pico - Pico'nun hız özelliklerine pek aşina değilim
Guice - Guice hızlı olacak şekilde tasarlanmıştır ve referansta bahsedilen karşılaştırmanın bazı rakamları vardır. Elbette, hız ya Guice kullanılarak ya da elle kablolama ile birincil husus ise, dikkate alınmalıdır.
İlkbahar - Bahar yavaş olabilir. Daha hızlı hale getirmek için çalışmalar yapıldı ve JavaConfig kitaplığını kullanmak işleri hızlandırmalı.
Kullanım kolaylığı
Pico - Yapılandırması basit. Pico sizin için bazı otomatik tel kararları verebilir. Çok büyük projelere nasıl ölçeklendiği belli değil.
Guice - Yapılandırması basit, sadece ek açıklamalar ekler ve nesneleri birbirine bağlamak için AbstractModule'dan miras alırsınız. Yapılandırma minimumda tutulduğundan büyük projelere iyi ölçeklenir.
Yay - Yapılandırması nispeten kolaydır, ancak çoğu örnek yapılandırma yöntemi olarak Spring XML'i kullanır. Spring XML dosyaları zamanla çok büyük ve karmaşık hale gelebilir ve yüklenmesi zaman alabilir. Bunun üstesinden gelmek için Yay ve elle çevrilen Bağımlılık Enjeksiyonunun bir karışımını kullanmayı düşünün.
Topluluk Boyutu
Pico - Küçük
Guice - Orta
İlkbahar - Büyük
Deneyim
Pico - Pico ile fazla deneyimim olmadı ama yaygın olarak kullanılan bir çerçeve değil, bu yüzden kaynak bulmak daha zor olacak.
Guice - Guice popüler bir çerçevedir ve hıza odaklanması, geliştirme aşamasında çok fazla yeniden başlattığınız büyük bir projeniz olduğunda memnuniyetle karşılanır. Yapılandırmanın dağıtılmış doğası hakkında bir endişem var, yani tüm uygulamamızın nasıl bir araya getirildiğini görmek kolay değil. Bu açıdan biraz AOP'ye benziyor.
İlkbahar - İlkbahar genellikle varsayılan seçimimdir. Bununla birlikte, XML hantal hale gelebilir ve sonuçta ortaya çıkan yavaşlama can sıkıcı olabilir. Sık sık el yapımı Dependency Injection ve Spring kombinasyonunu kullanıyorum. Aslında XML tabanlı yapılandırmaya ihtiyaç duyduğunuzda, Spring XML oldukça iyidir. Spring ayrıca diğer çerçeveleri daha Bağımlılık Enjeksiyonu dostu hale getirmek için çok çaba sarf etti, bu da yararlı olabilir çünkü bunu yaparken genellikle en iyi uygulamayı kullanırlar (JMS, ORM, OXM, MVC vb.).
Referanslar