SORU
16 NİSAN 2010, Cuma


Genel amaçlı-299 Google Guice vs CDI / Kaynak

Kaynak, genel amaçlı-299 Bağlamlarda ve Bağımlılık Enjeksiyon referans uygulama, Bahar ve Guice halefi olarak kendisini görmektedir.

CDI Dikiş, Guice ve İlkbahar da dahil olmak üzere mevcut Java çerçeveler bir dizi etkilenmiştir. Ancak, CDI, çok farklı, kendine özgü bir karakteri var: Guice. daha Dikiş daha typesafe, daha fazla durum bilgisi ve daha az Bahar daha XML merkezli, daha fazla web ve kurumsal uygulama kapasitesine sahip Ama çerçeveler belirtilen ve genel amaçlı-299 Uzman Grubu (EG) ile işbirliği ve sıkı çalışma bir sürü ilham olmadan bunlar olamazdı.

http://docs.jboss.org/weld/reference/latest/en-US/html/1.html

Kaynak kurumsal uygulama için daha yetenekli Guice göre ne yapar? Guice göre avantaj ve dezavantajları nelerdir? Sen Guice SOP Kaynak önleyicilerin göre hakkında ne düşünüyorsun? Ne performansı hakkında?

Benim tercihim

Sonunda neredeyse @ayrıca ek açıklamalar olmadan gelen temiz programlama modeli varsayılan olarak Enjekte sevdiğim için Guice kullanmaya karar verdim. Çok daha kolay CDI ile daha Guice ile dış libs kullanın. SOP da Guice ile oldukça basittir.

CEVAP
11 Mayıs 2010, Salı


Daha önce çalışırken sorunun cevabı, ben sadece eklemek önemli bir parça bilgi: JSR 330 (@Inject) standart tarafından Guice ve Bahar projeleri (announcement from May 2009) ve reused in JSR 299. Bu enjeksiyon noktası ilan açısından temel Dİ mekanizmaları kapsar.

Şimdi, soru - Guice ile daha Bahar ile çok fazla deneyimim yok ki reddi ile birlikte.

Kaynak kurumsal yetenekleri

  • Alternative configuration mechanisms genel amaçlı-299 çok temiz bir tasarıma sahip ve Java kodu dışında yapılandırma mekanizmaları (beans.xml) için izin verir.
  • Events çok güçlü bir şey ve güzel JMS ile iyi uyum. Ben sadece Event Bus for Guice ama nasıl karşılaştırır söyleyemem buldular.
  • Portable extensions mevcut teknoloji ile entegre ya da temiz bir şekilde eski kod sarmak için kullanılan bir ideal kilar.

Avantajları / Dezavantajları

Not: birkaç öğe daha sonra burada eklemek için çalışacağız, ama bu cevap zaten beklediğimden daha uzun, üzgünüm.

  • /CDI kaynak

    • StandardizasyonBir şey standart bir uygulama varsa, bir çok insan bunu kullanıyor olacaktır. Örnek: Guice Spring birkaç kapsamları daha verin Kaynak Built-in scopes. Bütün bunlar uzatılabilir, ama uygulama çerçeveleri oldukça büyük bir topluluk tarafından kullanılmaktadır. standart kapsamları üzerinde durulacaktır.
    • Konteyner destekbu bir önceki maddeye benzer, ancak kabul edilmesi için önemli bir argüman. Büyük açık kaynak uygulama sunucuları, Önemli ve JBoss 6 gibi CDI destek (here) bulunur.
  • Guice/Bahar

    • Gerçek uygulama: Mevcut uygulamalar en Guice/Bahar zaten kullanıyor olacak. İlkbahar/Guice her zaman standartların üzerine inşa edilmiş ve standartların var olduğu yeni yetenekler vermiş ya da kullanılamadı. Eğer ilgili en iyi uygulamaları takip ederseniz, çerçeve uygulamanız standartlara dayalı ve temiz olmasına yardımcı olacaktır.

SOP ve Önleyici

Bu çok yoğun bir şekilde tartışılan bir konudur, ve ben bir iyilik. Her iki mekanizma çok güçlü ama uygulamanın mimarisinin en azından asgari bir anlayış gerektirir. Ayrıca Decorators ve daha önce başvurulan Events bak. En doğru aracı ile gitmek, ama eğer bir geliştirici bu mekanizmalardan biri ile çalışmak durumunda kavramını anlar eğer iyi bir şey olduğunu unutma.

Performans

Ne yazık ki bu henüz, ama bu değil, ama sen fark etmeden seni işlevselliği bir sürü veren bir çerçeve kullanılırken, özellikle takip etmeye çalışıyorum birkaç kural vardır:

  • Mümkün olduğunda, zamanında birden fazla aramaları tek kablo bir adım tercih.
  • Mümkünse, uygulama başlatma hakkında tüm kablolama yapmak.
  • Herhangi bir durdurma adım SOP proxy birkaç yöntem yığın çağrıları ekler.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Blendtec

    Blendtec

    30 EKİM 2006
  • RawBrahs

    RawBrahs

    28 Aralık 2010
  • Rayone GB

    Rayone GB

    14 Temmuz 2007