SORU
11 EYLÜL 2009, Cuma


Tasarım Nerede nesneleri kullanarak kayıtlı olması Windsor

Başvurum aşağıdaki bileşenleri olacak

  • DataAccess
  • DataAccess.Test
  • İş
  • İş.Test
  • Uygulama

Bu katmanlar birlikte tutkal IoC olarak Castle Windsor kullanmak umuyordum ama yapıştırma tasarımı hakkında biraz şüpheliyim.

Benim sorum Windsor içine nesneleri kaydetme için sorumlu olmalıdır kim? Aklımda bir iki şey var;

  1. Her katman kendi nesneleri kaydedebilirsiniz. BL test etmek için, test aşamasındaki bu DAL için alay derslere kayıt olabilir.
  2. Her katman bağımlılıkları nesne, örneğin iş katmanı kayıtları veri Erişim Katmanı bileşenleri kayıt olabilirsiniz. BL test etmek için, test aşamasındaki "gerçek" DAL ve sahte nesneleri nesne kaydedin. bu kaldırmak için olurdu
  3. Uygulama (veya test uygulaması) bağımlılıkları tüm nesneleri kaydeder.

Birileri bazı fikirler ve profesyoneller için farklı yolları ile/eksileri ile bana yardımcı olabilir misiniz? Örnek bağlantılar bu şekilde kullanan Windsor Kalesi çok faydalı olacak projeler.

CEVAP
11 EYLÜL 2009, Cuma


Genel olarak, bir uygulamanın tüm bileşenleri mümkün olduğunca geç, maksimum verme imkanı sağlayan ve modülleri gevşek mümkün birleştiğinde olarak çünkü oluşturulmalıdır.

Uygulamada, bu uygulama kökündeki konteyner yapılandırmanız gerektiği anlamına gelir.

  • Bir masaüstü uygulamasında, şu Ana yöntem (veya yakın) olacak
  • (MVC dahil) ASP.NET bir uygulamada, Genel olacaktır.asax
  • XML, bir ServiceHostFactory olacaktır
  • vb.

Konteyner sadece çalışan bir uygulama içine modülleri oluşturan motordur. Prensip olarak, el (bu denir . kod yazabilirsiniz ^em>Zavallı Adam Dİ), ama Windsor. gibi Dİ bir Konteyner kullanmak çok daha kolaydır sadece

Böyle birKompozisyon Kökideal uygulamanın kök kod tek parça, uygulama sözde . bir yapım olacak ^em>Mütevazı Yürütülebilir(mükemmel bir dönem xUnit Test Patterns) Bu birim kendi içinde teste ihtiyacı yok.

Testlerinizi konteyner tüm gerekli nesneleri ve modüller birleştirilebilir olması gerektiği gibi, ve doğrudan tedarik edebilirsinizTest İki Katına Çıkaronlara ünite testi. En iyisi modülleri tüm konteyner-agnostik olmak için tasarım yapabilirsiniz.

Ayrıca, Windsor, özellikle bileşen saklanması gerekir yükleyiciler (tür IWindsorInstaller uygulama içinde kayıt mantığı daha fazla bilgi için the documentation Bakın

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Evan Coury

    Evan Coury

    29 NİSAN 2007
  • Official Clouds

    Official Clo

    1 HAZİRAN 2011
  • TomKNJ

    TomKNJ

    26 ŞUBAT 2007