2016-02-25 13 views
0

У меня вопрос дизайна здесь. Я пытаюсь смоделировать таблицу правил.Моделирование бизнес-правил Данные

Мои образцы правил хотели бы: Учитывая строку данных, я бы рассмотрел все настроенные правила, и если бы любое имя столбца соответствовало правилу значения, оно было бы удалено.

например

enter image description here

теперь входящей строка данных, если столбец страны имеет США как значение я бы ударил правило 1003.

Проектирование моего стола правил таким образом помогает мне добавьте любой столбец (это часть строки данных) к правилам легко. Мой пользователь может просматривать правило и управлять им самостоятельно.

Теперь проблема здесь в столбце приоритета. Когда необходимо добавить новое правило, которое имеет приоритет между ними, мне нужно обновить приоритет всех строк после этого. Например, в приведенном выше примере мне нужно добавить что-то с приоритетом 3: ниже Мне нужно обновить еще два правила. enter image description here

Поскольку таблица становится большой, она не сможет управлять обновлением всех строк. Это заставляет меня чувствовать, что для этого должно быть лучшее решение.

Мне нужен столбец приоритета, так как вам нужно определить порядок, в котором должны быть выбраны правила.

Может кто-нибудь, пожалуйста, сообщите, что было бы правильной моделью для этого варианта использования?

PS Я не могу использовать слюни или любое правило из-за моей среды выполнения.

Благодаря

ответ

1

У меня есть несколько предложений, которые снижали бы проблему наличия более обновлений, которые необходимо

Do значения в столбце приоритета должны быть последовательными? Если нет, настройте начальный набор правил со значениями с большим количеством пробелов (например, 100, 200, 300 ...), это не повлияет на порядок, и любое новое правило может быть добавлено в пробелы.

Любой дополнительный набор правил, которые являются исключительными, может использовать одно и то же значение приоритета, например. Только один из правил «страны» будет когда-либо соответствовать, поэтому нет необходимости оценивать их по очереди (конечно, вы должны рассмотреть производительность здесь, если 90% правил страны будут соответствовать «США», тогда все же имеет смысл оценить этот первый).

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