SORU
11 NİSAN 2011, PAZARTESİ


EF İle genel Havuz 4.1 anlamı nedir

Ben derin DbContext, DbSet ve ilgili arabirimleri için kazı yaparken, bir ayrı uygulamak gerekir neden merak ediyorum "Genel" etrafında bu uygulamalar Depo?

DbContext ve İDbSet gereken her şeyi yapmak gibi görünüyor ve "Birim İş" DbContext içinde. içerir

Burada eksik bir şeyler ya da insanlar sebepsiz yere bağımlılık başka bir katman ekleyerek zevk görünüyor muyum.

CEVAP
11 NİSAN 2011, PAZARTESİ


Aslında haklısın. DbContext iş desen birimi uygulaması ve IDbSet depo desen uygulaması.

Depoları şu anda çok popüler ve çok fazla zorlanmış. Herkes varlık çerçevesi için bir depo oluşturma hakkında onlarca yazı var diye onları kullanın ama kimse aslında zorluklar bu kararı açıklar.

Depoyu kullanmak için ana nedenleri genellikle:

  • Üst tabakadan EF gizle
  • Kodu daha iyi test edilebilir

İlk sebebi mimari saflık ve eğer üst katmanları bağımsız EF yaparsanız daha sonra başka kalıcılık çerçeve geçiş yapabilirsiniz Bu harika bir fikir. Kaç kere gerçek dünyada böyle bir şey gördünüz mü? Bu yüzden deponuzu ek özellikler EF varsayılan olarak izin kaydırma bir sürü göstermek gerekir, çünkü EF ile çalışmak çok daha zor hale getirir.

Aynı zamanda kaydırma EF kodu kodu daha düzenli ve endişe kural Ayrımı takip etmeye devam edin. Benim için bu tek gerçek avantajı Depo ve birimin çalışma ama anlaman gereken şu, bu kural ile EF olacak belki kodunuzu daha sürdürülebilir ve daha iyi okunabilir ama ilk çaba oluşturmak için uygulama çok daha yüksek ve daha küçük uygulamalar bu olabilir gereksiz karmaşıklığı.

İkinci nedeni kısmen doğrudur. EF büyük dezavantajı ise üst katman birim test etmek isterseniz EF bir şekilde uygulanması alay izin almanız gerekir yani neredeyse alay konusu olan katı mimarisi. Ama bu here nitelendirdiği birçok sonuçları vardır.

Ayende's blog takip ediyorum. Eğer hiç Arabiriminin kullanıldığı takdirde muhtemelen onun makaleler. Bu adam son zamanlarda Arabiriminin ama Arabiriminin ile depoyu kullanarak karşı çeşitli makaleler çok daha iyi mockable olduğunu yazdı.

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Booredatwork.com

    Booredatwork

    5 Ocak 2009
  • Facebook Developers

    Facebook Dev

    24 ŞUBAT 2009
  • MarinaHD2001

    MarinaHD2001

    7 ŞUBAT 2009