Кто-нибудь знает о хорошей библиотеке правил библиотеки .NET (в идеале с открытым исходным кодом)? Мне нужно что-то, что может выполнять вложенные логические выражения, например (A AND B) AND (B ИЛИ C ИЛИ D). Мне нужно выполнить сравнение свойств объекта, например, A.P1 AND B.P1. (В идеале я мог бы сравнить любое свойство - A.P1 AND B.P2).Ищет простую библиотеку правил в .NET
Он должен хранить правила в базе данных (у меня есть много простой настраиваемой логики). И он должен иметь API создания правил/управления. Инструмент управления должен будет проверить экземпляры, чтобы определить, какие свойства доступны и какие существуют ограничения.
Спасибо!
О, еще одна вещь. В качестве механизма правил мне нужно включить концепцию Actions (Commands). Это то, что выполнится, когда выражение возвращает:
If (expression.Evaluation) { actions.Execute(); }
Так что я вижу, как правило, что-то вроде:
class Rule
{
Expression Exp;
Actions[] Actions;
Run()
{
if(Exp.Evaluate())
{
foreach(action in Actions)
{
action.Execute();
}
}
}
}
Существует недостаток текущего механизма правил WF ... он использует очень небольшое подмножество выражений в кодировке, но на самом деле выполняет строковый синтаксический анализ для генерации базового кода, а не классов CodeDom. – 2008-10-16 14:50:21
Первоначально я использовал Drools 3.0.But. Он не поддерживает .NET Framework 4.5. Могу ли я использовать это в качестве замены Drools ?? – 2014-03-05 13:20:45
@ShyamDixit: Извините, понятия не имею, но я бы выбрал что-нибудь в текущей разработке над WF3. Этот ответ почти шесть лет. Не принимайте решения, читая древние статьи/вопросы/ответы. – Will 2014-03-05 13:29:06