Хорошие ссылки / подсказки для разработки систем правила?

Как будто вы пытаетесь получить доступ к объекту, который является null. Рассмотрим ниже пример:

TypeA objA;

. В это время вы только что объявили этот объект, но не инициализировали или не инициализировали. И всякий раз, когда вы пытаетесь получить доступ к каким-либо свойствам или методам в нем, он будет генерировать NullPointerException, что имеет смысл.

См. Также этот пример:

String a = null;
System.out.println(a.toString()); // NullPointerException will be thrown
6
задан rcreswick 15 September 2008 в 22:09
поделиться

5 ответов

У нас была внутренняя демонстрация этого инструмента, он - поставщик: http://www.rulearts.com/rulexpress.php

Как компания, у нас есть большой опыт с механизмами правила (например, Cleverpath Aion), но главным образом ориентированные разработчиками инструменты. Этот инструмент (rulexpress) является очень ориентированными деловыми людьми. Это не механизм правила. Но это может произвести все данные в xml (так в основном любой формат, который Вы любите), и это - что-то, что мы затем рассмотрели бы как вход для реального механизма правила, например, Windows Workflow Foundation (не один из больших/лучше механизмов правила, но все еще).

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

Существуют также некоторые инструменты для управления правилом, созданного вокруг WF, если это - Ваш предпочтительный механизм правила, выезд InRule.


Отредактированный после того, как исходный вопрос был разъяснен: Хотя я баловался этим давным-давно (пишущий немного языка в javacc), я считал бы это плохими инвестициями времени теперь. Мой комментарий выше находится в том же духе: возьмите простой механизм правила, простой (коммерческий) UI, который помогает бизнес-пользователям поддержать и только инвестировать время в связывание двух.

2
ответ дан 17 December 2019 в 18:21
поделиться

У нас была удача с этим: http://msdn.microsoft.com/en-us/library/bb472424.aspx

1
ответ дан 17 December 2019 в 18:21
поделиться

Реализацией Ruby для рассмотрения является Ruleby (http://ruleby.org/wiki/Ruleby)

0
ответ дан 17 December 2019 в 18:21
поделиться

Одна вещь, которую я нашел, состоит в том, что способность определить правила как деревья выражений делает реализацию настолько более простой. Как Вы правильно упомянули, требования от проекта до проекта так отличаются, что примерно необходимо повторно реализовать каждый раз. Деревья выражений вместе с чем-то как шаблон "посетитель" делают для очень (никакая игра слов предназначенный) выразительная платформа, которая легко расширяема. И можно легко поместить очень динамический GUI сверх деревьев выражений, который встречает тот аспект требования.

Надо надеяться, это не кажется, что я говорю, что все похоже на гвоздь с моим молотком, потому что это не имеет место..., это просто, что, по моему опыту, это пригодилось несколько раз :-)

0
ответ дан 17 December 2019 в 18:21
поделиться

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

Так любой система должна защитить от такого поведения (таким образом, делая это более сложным), принять такую возможность или не разрешить конечным пользователям делать это.

Если Вы работаете с.NET затем, ужасно легко создать Ваш собственный DSL путем расширения компилятора Шиканья (т.е. с Носорогом. DSL у Вас может быть простой DSL с одним классом).

0
ответ дан 17 December 2019 в 18:21
поделиться
Другие вопросы по тегам:

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