То, какой problem/s делает Алгоритм Механизма Правила, решает? [закрытый]

5
задан Itay Moav -Malimovka 18 March 2010 в 12:50
поделиться

5 ответов

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

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

  • Логика часто меняется: Сама логика может быть простой (но не обязательно), но правила меняются довольно часто. Во многих организациях выпуски программного обеспечения происходят редко, и правила могут помочь обеспечить необходимую и ожидаемую "гибкость" достаточно безопасным способом.

  • Доменные эксперты (или бизнес-аналитики) легко доступны, но не являются техническими специалистами.

Взято с этого сайта

1
ответ дан 14 December 2019 в 04:35
поделиться

Механизм правил вычисляет решение на основе одного или нескольких входных параметров.

0
ответ дан 14 December 2019 в 04:35
поделиться

На самом низком уровне механизм правил прямой цепочки позволяет вам структурировать наборы правил (часто большие наборы правил) примерно следующим образом:

if (Condition A) {assert (Condition B)}
if (Condition C) {assert (Condition B)}
if (Condition B) {do something}

Условия также могут иметь параметры:

if (Condition A (X, Y)) {assert (Condition B (X)}
if (Condition C (X)) {assert (Condition B (X)}
if (Condition B (X)) {do something with X}

Эти цепочки могут быть сколь угодно глубокими. Алгоритм Rete и его разновидности позволяют эффективно обрабатывать большие наборы правил.

Проблема, которую решают движки правил, состоит в том, чтобы отделить обслуживание наборов правил от приложения - правила можно перенастроить, не перестраивая приложение. Хотя (теоретически) нетехнические аналитики или малые и средние предприятия могут сами поддерживать наборы правил, на практике требуется немного технической смекалки, чтобы не выстрелить себе в ногу по сложному набору правил - а механизмы правил немного бессмысленны, если вы их не используете. У меня нет большого набора правил.

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

1
ответ дан 14 December 2019 в 04:35
поделиться

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

Они не очень сложные, и многие реализации представляют собой серьезные проблемы с производительностью и масштабированием.

0
ответ дан 14 December 2019 в 04:35
поделиться

Механизм правил может инкапсулировать бизнес-логику, часто в декларативной форме. Это позволяет избежать необходимости кодировать бизнес-логику в программном обеспечении.

Алгоритм механизма правил - это способ реализации сопоставления и срабатывания правил, то есть это скорее деталь реализации, чем собственно решение проблемы. Алгоритмы могут иметь различные нефункциональные достоинства или недостатки. Общим примером алгоритма движка правил является Rete Algorithm, используемый в движках правил Java JESS и Drools.

6
ответ дан 14 December 2019 в 04:35
поделиться
Другие вопросы по тегам:

Похожие вопросы: