Здравствуйте, gandjustas, Вы писали:
V>>Что такое лямбды, джойны и OrderBy? Зачем вам, пользователю репозитория, об этом знать? Может там все посты в обычном текстовом файле хранятся.
G>Почему репозиторий определяет что я должен знать?
G>Я хочу задавать сортировку так, чтобы при переименовании поля код ругался. Лямбды для этого хорошо подходят, а linq идеально. Строки тут в жопе.
Это зона ответственности репозитория, а снаружи ничего не известно и потому одну реализацию легко заменить на другую. Вместо строк можно использовать другие объекты, никаких ограничивающих правил нет.
V>>Сделаю поле вот такого типа и уже потом буду размышлять как это реализовать — через лямбды или строки.
V>>V>>public enum PostSortingMethod
V>>{
V>> Recent,
V>> HighlyRated,
V>> Flames
V>>}
V>>
G>То есть будет количество членов в enum по количеству разных выборок, а внутри будет большой swith. Это полностью аналогично разным методам. Более того разные методы даже удобнее, ибо списки параметров есть. А DataFetch позволяет легко не указать то, что надо.
Тогда сортировка просто не будет работать как надо, программист быстро укажет то, что нужно, и всё заработает.