стандартная практика предоставления шаблона спецификации клиентскому коду?

У меня есть многоуровневое приложение N -, в котором я использую шаблон спецификации. Теперь я хочу предоставить несколько способов создания спецификаций для клиентского кода. Должно быть несколько предварительно -определенных опций, подобных этим:

  • Равно
  • Больше Чем
  • Содержит

Эти объекты (позволю себе назвать их Фильтры )не должны содержать никаких логических (методов ), только данные -тип и параметры фильтра. И должен быть естественный способ преобразовать их в спецификацию на сервере. Вот пример того, как это должно выглядеть со стороны клиента:

var serviceClient = new DataModuleService();
var equalFilter = new ContainsFilter<Book>("Title","Lord of the Rings");
var lordOfTheRingBooks = serviceClient.GetBooks(equalFilter);

Также должны быть типы фильтров для всех стандартных операций (, таких как Equal, Greater, In, Between, StartsWith для строки и т. д. )и способы их объединения с логическими операторами (и, или, не ).

Существуют ли какие-то шаблоны/стандартные практики для реализации такой вещи?


УПД:задача пока заморожена, и я уже начал думать, что проблема в самой постановке задачи.

6
задан vorou 23 January 2013 в 12:55
поделиться