SearchServiceレイヤーに、特定の文字列で始まるすべての車を検索するメソッドがあるとします。私のサービスはどのインターフェースを返すべきですか? IQueryable、IList、IEnumerable?
public static class Searcher{
public IAnInterface<Car> CarsStartingWith(string startWith){
//magic
}
}
私のサービスで使用するインターフェイスは何ですか?
IQueryableは、残りのアプリケーションで素晴らしい流体インターフェイスをレンダリングできます。
IEnumerableには、怠惰な側面があります。
IListが最も実用的です。私はすべてのサービスが一貫性のために同じインタフェースを返す持ちたい
は非常に簡単に全体のことになります。それは枠組みの中でより多くの中心的な場所を持っているためにも親しみを提供しながら、私は、それを必要とするもののために汎用性を提供し、IEnumerable
を選ぶだろう
いるICollectionは、多分あまりにも選択肢かもしれないが、それはちょうどので、少し...
ここではほぼ重複した議論があります:http://stackoverflow.com/questions/396513/should-parameters-returns-of-collections-be-ienumerablet-or-t –