2010-01-09 14 views

cevap

15

Ne Castle.Windsor veya Spring.NET yeni.

  • Windsor Castle sonlarında 2004 yılından bu yana yaklaşık edilmiştir
  • Spring.NET O kadar iki karşılaştırılabilir DI Konteynerleri temelde aynı hizmet vermeyi amaçlıyoruz olan 2006 başlarında

beri var olmuştur Biri diğerinden önce öğrenmenize gerek yoktur ve ne zaman kullanılacağı konusunda herhangi bir belirtime başvurmanız gerekmez.

Yaklaşık yarım yıldır Castle Windsor'u kullanıyorum ve genellikle onunla mutluyum. Spring.NET Henüz bakmam ama very closely tied to the configuration system gibi görünüyor ve programatik kaydı desteklemiyor, eğer bu doğruysa gözlerimde büyük bir sakınca olurdu.

Kale Windsor ve Spring.NET, .NET için kullanılabilen tek DI Konteyner değildir.

4

Ben committer biriyim: Burada daha büyük bir liste var Castle projesine (Windsor dahil) bu yüzden önyargılı olabilirim, ama.

Windsor çok genişletilebilir, ihtiyaçlarınıza göre ayarlamanıza ve eğmenize izin verir. Çok sayıda akıcı kayıt API'sı sağlar, böylece tonlarca XML yazmak zorunda kalmazsınız. Ayrıca Windsor'u, ORM'ler iletişim çerçeveleri (WCF, NServiceBus) vb. Gibi diğer çerçevelerle entegre etmek için kullanabileceğiniz birçok uzantı da vardır.

Ayrıca, çok etkin ve yanıt veren bir topluluğa sahiptir, bu yüzden herhangi bir sorunuz varsa Çoğu zaman oldukça hızlı bir şekilde cevaplanırsınız.

+4

Kale projesinde yer alıyorsanız, aktif ve yanıt veren bir topluluğa sahip olmanızın bir numaralı sebebinin, muhtemelen belgelerinizin çok az olması nedeniyle farkında olmanız gerekir.İki çerçeve arasındaki belgelerin karşılaştırılması bir yarışma değil ... Spring.net'in, yazılımın mevcut sürüm sürümü için yazılan 500 sayfalık bir kılavuza bir bağlantısı var. Castle'ın nasıl çalıştığını anlamak bir acıdır (özellikle de Windsor'a kadar). – wllmsaccnt

+0

@wllmsaccnt Windsor’da yeniyim ve katılıyorum. Windsor belgeleri korkunç. –

+0

@ wllmsaccnt @theneoindian Burada açıklığa kavuşturmak için iki nokta. Birincisi, Windsor'un doco'yu 2010'dan bu yana yeniden yazıyor. Bir başkası, hayatınızı basitleştirmesi beklenen bir araç 500p el kitabı gerektiriyorsa, yanlış yapıyor olabilirsiniz. –

2

Sanırım her ikisi de yapılandırma açısından daha iyi. Çok fazla fark yok ama ikisi de Birlik çerçevesinden daha iyi. Neden bağımlılık kontrolünde marshalbyrefobject ilişkisine ihtiyacın var? Ama eğer spring.net ve Castle Windsor'u karşılaştırırsak, ikisi de iyidir. Ancak soru, hangisinin tam konteyner çerçevesi olduğu gelir. Bağımlılık konusunda doğrulama için gerekenlere ihtiyacımız var gibi. Yani Winsler yardımcı programı başarısız. String.net'i Castle Windsor'la veya bu gibi bir şeyle karşılaştırmak aptalca bir şeydir, çünkü hepsi yardımcı programlardır ve ilkbahar tam bir konteyner çerçevesidir. Ve ağır olduğunu söyleyen tüm insanlar lütfen bellek sızıntısı sorunlarını kontrol edin. Bahar ya da Castle Windsor değil, kod yazmanın aptalca yolu. Nihayet cevap vermek gerekirse sadece DI kullanımı Windsor'a ihtiyacınız varsa, ancak herhangi bir çözüm için tam bir çerçeveye ihtiyacınız varsa, spring.net'i kullanın.

İlgili konular