SORU
29 ŞUBAT 2012, ÇARŞAMBA


Ioc/DI - Neden giriş uygulaması tüm katmanları/derlemeleri var mı?

(Bu soru ile ilgili, EF4 MVC3: LazyLoading and ProxyCreation).

Ben yeni Dİ yani ayı ile beni... anlıyorum konteyner sorumlu başlatmasını tüm kayıtlı tipleri ama sırayla yapmak gerekiyor başvuru için her DLL için benim çözüm ve referanslar.

Eğer Dİ kabı kullanarak olmasaydım, DAL/Repo benim katmanı referans olan MVC3 uygulamam, benim iş katmanı sadece EntityFramework kitaplığı başvuru yapmak zorunda kalmazdım.

Biliyorum ki sonunda bir gün tüm DLL dahil bin klasörü ama benim sorunum olması için başvuru açıkça üzerinden "add reference" VS sipariş etmek, yayımlamak WAP ile gerekli tüm dosyaları...

CEVAP
29 ŞUBAT 2012, ÇARŞAMBA


Eğer Dİ kabı kullanarak olmasaydım, DAL/Repo benim katmanı referans olan MVC3 uygulamam, benim iş katmanı sadece EntityFramework kitaplığı başvuru yapmak zorunda kalmazdım.

Evet, aynen öyle bir durum Dİ çok zor önlemek için çalışıyor :)

Sıkı eşleşmiş kodu ile her kütüphanede sadece birkaç başvurular olabilir, ama bu yine diğer kaynaklar, bağımlılıkları derin bir grafik oluşturma, bu gibi:

Deep Graph

Bağımlılık grafiği derin olduğu için, çoğu kütüphaneler diğer bağımlılıklar - örneğin şemada, bir sürü sürükleyip anlamına gelirKütüphane Cbirlikte sürüklerKütüphane H, Kütüphane E Kütüphane J, M Kütüphane, Kitaplık, KveKütüphane N. Bu zor her kitaplık bağımsız kalan - örneğin in unit testing yeniden yapar.

Ancak, *2,* tüm başvurular hareket ettirerek gevşek bir uygulamabağımlılık grafiği ciddi bir şekilde düzleştirilir:

Shallow Graph

Yeşil renk ile gösterildiği gibi, bu artık mümkün yenidenKütüphane Cherhangi bir istenmeyen bağımlılıkları boyunca sürükleyerek olmadan.

Ancak, tüm bu dedi, birçok Dİ Kaplar, bilmiyorsunvargerekli tüm kütüphaneler için sabit referanslar ekleyin. Bunun yerine kullanabilirsinizgeç bağlamaya da sözleşme bazlı şeklinde derleme-tarama (tercih edilen) veya XML yapılandırma.

Bunu yaptığınızda, ancak, bu artık otomatik olarak gerçekleşir çünkü uygulamanın bin klasörü için derlemeler kopyalamak için hatırlamak gerekir. Şahsen ben nadiren ekstra çabaya değer bulacaksınız.

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Lin Steven

    Lin Steven

    17 EKİM 2006
  • Michelle Phan

    Michelle Pha

    18 Temmuz 2006
  • Turkish Airlines

    Turkish Airl

    11 AĞUSTOS 2006