Hãy tưởng tượng tôi có một lớp SearchService có một phương pháp để tìm kiếm tất cả các xe bắt đầu bằng một chuỗi nhất định;Dịch vụ của tôi nên trở về giao diện nào? IQueryable, IList, IEnumerable?
public static class Searcher{
public IAnInterface<Car> CarsStartingWith(string startWith){
//magic
}
}
Dịch vụ của tôi nên sử dụng giao diện nào?
IQueryable có thể hiển thị giao diện tốt đẹp trong phần còn lại của ứng dụng của tôi.
IEnumerable có khía cạnh lười biếng đi kèm với nó.
IList chỉ là thực tế nhất.
Tôi muốn có tất cả các dịch vụ của mình trả về cùng một giao diện để nhất quán làm cho toàn bộ mọi thứ trở nên dễ dàng hơn nhiều.
ICollection có lẽ có thể là một lựa chọn quá, nhưng nó chỉ cung cấp rất ít ...
Thảo luận gần như trùng lặp ở đây: http://stackoverflow.com/questions/396513/should-parameters-returns-of-collections-be-ienumerablet-or-t –