2013-12-11 2 views
0

У меня есть пара правил 1000, которые выглядят как приведенные ниже правила, и я хочу попробовать использовать DROOLS для кодирования этих правил. Как вы думаете, я делаю правильный выбор? Есть много полей и множество значений (списки и диапазоны) для проверки. Учитывая запись данных, я должен проверить все возможные правила и потенциально для эффективности. Я должен применять правила только в том случае, если это относится к записи.Могу ли я использовать DROOLS в этом сценарии?

a) Действительные данные для поля XYZField пусты, ноль, 01- 36, 37-44, 96, 97-99; в противном случае недействителен.

b) Если ABCDCODE - 92200, 92201 и: i) TTYPE - 1, то XYZField должен быть пустой или ноль; в противном случае недействителен. ii) TTYPE - 7, 8 или 9, тогда XYZField не должен быть пустым или нулевым; в противном случае недействителен.

Пожалуйста, дайте мне знать, если я сделаю правильный выбор, посмотрев на DROOLS DSL для этой цели.

ответ

4

Посмотрите на my white paper on Drools Design Patterns особенно раздел по проверке данных.

В разделе объясняется стратегия, которая позволяет избежать простого создания одного правила Drools для каждого правила в требованиях. Проще говоря, вы используете данные для описания этих правил, вставляете данные как факты, вместе с фактами, представляющими фактические данные, и записываете правила, связанные с описаниями данных. Вы можете сказать, что правила «интерпретируют» описания по отношению к данным.

Для этого подхода есть преимущества и недостатки, но его следует учитывать перед тем, как начать работу с рукописными или электронными таблицами.

+0

Это не ответ. Не используйте ответ только для ссылок, можете ли вы добавить синтез того, что содержит этот (интересный) документ? – zenbeni

+0

OK - этот контур достаточно хорош? – laune

+0

Уверен, что это лучше. – zenbeni

2

Посмотрите на Таблицы решений Drools, которые облегчают кому-то ввод этих 1000 правил.

+0

Правила, которые у меня были, не соответствуют подходу к таблице решений, но спасибо за ответ. – user1456599

Смежные вопросы