Метка «Rule Engine»

Одна из часто встречающихся проблем императивных языков программирования это отсутствие выражений для декларативных структур, таких как, к примеру, древовидные разметки или набор правил для обработки данных. В Groovy эта проблема решена с помощью классов типа Builder и мета-программированием на уровне абстрактного синтаксического дерева.
Читать полностью »

Добрый дня всем!

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

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

Вопросы и ответы

Задайте себе вопросы:

  • Кто, как и на основании чего решает, в каком порядке самолеты садятся и взлетают?
  • Какова может быть цена неверного решения?

Второй вопрос проще, поэтому ответим сначала на него. Минимальная цена это несколько десятков тысяч евро, а вот максимальная несколько сотен человеческих жизней. А теперь к первому вопросу.

Итак, кто? Ответ: в большинстве случаев люди. Не без помощи компьютеров конечно, но все таки люди. Теперь вопрос: как? Есть список возможных вариантов, человек из них выбирает. Вариантов дается немного, поэтому в принципе особых мук выбора нет. И последний вопрос: на основании чего? Есть правила, их нужно придерживаться и по возможности выполнять. Например, задержка вылета более чем на полчаса весьма нежелательна. Ну и главный вопрос: а причем тут Rule Engine?
Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js