SORU
5 NİSAN 2009, Pazar


IQueryable<T> veya dönüş IQueryable< değil dönmek;T>

Benim SERİ Veri İçeriği SQL kaydırılan bir depo Dersim var. Havuz sınıfının tüm veri katman mantığı (ve önbelleğe şekilde içeren bir iş kolu bir sınıftır.

İşte haciz arayüzüm benim v1.

public interface ILocationRepository
{
    IList<Location> FindAll();
    IList<Location> FindForState(State state);
    IList<Location> FindForPostCode(string postCode);
}

Ama FindAll için disk belleği işlemek için veya IQueryable<İLocation> yerine mesaj gönderme gibi durumlar için arayüz basitleştirmek için IList ifşa olup olmadığını tartışmayacağım.

Veri repo dan IQueryable teşhir için artıları ve eksileri nelerdir?

Çok teşekkür ederim.

CEVAP
5 NİSAN 2009, Pazar


Artıları; composability:

  • arayanlar filtreler ekleyebilirsiniz
  • arayanlar belleği ekleyebilirsiniz
  • arayanlar sıralama ekleyebilirsiniz
  • vb

Eksileri; olmayan test edilebilirlik:

  • Deponuzu artık düzgün birim test edilebilir; bir güvenemezsin: bu çalışma, b:neyapar;
    • arayanın olmayan çevrilebilir bir fonksiyon (TSQL eşleme; zamanında tatili gibi) ekleyebilirsiniz
    • arayan bir köpek gibi hareket yapar filtre/sıralama ekleyebilirsiniz
  • Arayanlar IQueryable<T> birleştirilebilir olmasını bekliyoruz bu yana, non-II uygulamaları kuralları - ya da onlar için kendi sorgu sağlayıcınız yazmak için zorlar
  • DAL profili / optimize etmek anlamına gelir

İstikrar için aldımdeğilbenim havuzları IQueryable<T> Expression<...> açığa. Bu depoyu nasıl davranacağını demek olduğunu biliyorum, ve benim üst katmanları önemsemeden alay kullanabilirsiniz gerçek depo mu "bu destek?" (entegrasyon testleri zorlama).

Ben hala IQueryable<T> vb kullanıniçindedepo - ama sınır yok. more thoughts on this theme here bazı yayınlanmıştır. Depo arabirimi belleği parametreleri koymak kadar kolaydır. Hatta uzatma yöntemleri (arayüz) eklemek için kullanabilirsinizisteğe bağlıdisk belleği parametreleri, beton sınıfları, böylece sadece uygulamak için 1 yöntem var, ama 2 ya da 3 aşırı arayan için kullanılabilir olabilir.

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Kanaal van Dj0fifty

    Kanaal van D

    28 EKİM 2011
  • monkophile

    monkophile

    25 Temmuz 2007
  • Paulo Bautista

    Paulo Bautis

    21 Aralık 2008