Мне нужно разработать решение, в котором набор правил можно дополнить другим набором правил без необходимости изменения исходного набора.
Проблема:
Возможны конфликты при простом объединении правил из разных наборов правил, поскольку могут быть сопоставлены несколько правил. Система должна запускать только расширенное правило, если оно противоречит базовому правилу.
Пример:
Система отслеживания времени для определения сверхурочной работы имеет пороговое значение для определения того, когда дополнительное время считается сверхурочным.
- Базовое правило учитывает сверхурочные как время, превышающее мин. 30 минут.
- Расширенное правило учитывает сверхурочные как время, превышающее мин. 60 минут.
Так что расширенное правило более строгое, потому что вы должны работать, по крайней мере,
60 минут считаются дополнительным временем (в противном случае вы получаете 0), но
Исходные правила рассчитывают что-то больше 30 минут.
Так что оба правила присутствуют, и вы потратили +45 минут на работу базы
Правило уволит и посчитает это. Но мы не хотим этого, потому что расширенное правило имеет более высокий порог.