Была ли система, включающая механизм правил, ДЕЙСТВИТЕЛЬНО успешной? [закрыто]

Следующий скрипт bash должен сделать трюк. Он использует ответ, указанный здесь Маркусом Сундманом.

#!/bin/bash

echo -n "Please enter the name of the tar file you wish to create with out extension "
read nam

echo -n "Please enter the path to the directories to tar "
read pathin

echo tar -czvf $nam.tar.gz
excludes=`find $pathin -iname "*.CC" -exec echo "--exclude \'{}\'" \;|xargs`
echo $pathin

echo tar -czvf $nam.tar.gz $excludes $pathin

Это выведет команду, которая вам нужна, и вы можете просто скопировать и вставить ее обратно. Вероятно, есть более элегантный способ предоставить его непосредственно в командной строке.

Просто измените * .CC на любое другое общее расширение, имя файла или регулярное выражение, которое вы хотите исключить, и это должно работать.

EDIT

Просто добавьте небольшое объяснение; find генерирует список файлов, соответствующих выбранному регулярному выражению (в данном случае * .CC). Этот список передается через xargs в команду echo. Это печатает --exclude «одна запись из списка». Слэши () являются символами escape для «меток».

18
задан durron597 24 June 2015 в 16:35
поделиться

11 ответов

Я видел два приложения, которые использовали механизм Сети Пламени от Справедливого Issac.

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

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

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

13
ответ дан duffymo 24 June 2015 в 16:35
поделиться
  • 1
    Читайте далее. Проблема не состоит в том, что я не знаю, как использовать эти вещи. Смысл переключения на C++ - то, так, чтобы я мог использовать выделение памяти, потому что существуют ситуации, где это полезно. – Glenn Sandoval 30 April 2010 в 01:57

Да, Microsoft имеет Механизм бизнес-правила (BRE) в BizTalk, который использовался успешно в течение многих лет. Я услышал, что они сделали, чтобы клиенты купили BizTalk (очень дорогой) только для BRE.

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

5
ответ дан JarrettV 24 June 2015 в 16:35
поделиться
  • 1
    @Glenn: Нет, я поддерживаю то, что я сказал. Моя точка - то, что, когда Вы используете корректные методы для , справляются выделения памяти (которые, очевидно, должны произойти), тогда это становится достаточно тривиальным, что переход к и от C++ почти тривиален. Когда Вы пытаетесь мучительно управлять всем путем отслеживания указатели без ясной семантики владения и не используя классы RAII, you' вещи создания ре, очень трудные для себя, и затем, да, прыжок от C# намного больше. – jalf 30 April 2010 в 23:12

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

3
ответ дан 24 June 2015 в 16:35
поделиться
  • 1
    Типичный случай был бы чем-то как модифицируемая реализация DOM. В C# или любом другом языке GC развертки метки Вы сохранили бы любые ссылки, Вы должны породить <-> ребенок, и просто отсоединяет блоки волей-неволей. В C++ однако Вы обрабатываете его, необходимо думать об этом и следовательно (я требую), it' s не " точно так же, как C#";-). Для 95% + моделей данных я согласовываю, тем не менее, Вас don' t нужно к " переключите обработку ресурса modes" между C++ и языком GC, так как " переключите обработку ресурса modes" между записью классов RAII и всем остальным. Большая часть Вашего кодирования C++ является частью " все else"... – Steve Jessop 30 April 2010 в 23:38

Я, конечно, имею, но не могу публично говорить о них, но его вероятном, Вы взаимодействовали с одним несколько раз в этом году;)

я вижу его в 2 лагерях: логические программисты и бизнес-пользователи. Различные инструменты предназначаются для различных наборов, некоторые оба. Успешные случаи бизнес-пользователей только работали, когда это было подмножество логики, и у них также был способ определить тестовые сценарии и выполнить их самих (и они готовы думать логически). Логические программисты более редки, но могут часто находиться, происходя из не среда императивного программирования (они - также вид людей, которые находят функциональное программирование интуитивным).

Имеют в виду в конце дня даже с визуальными инструментами, если Вы говорите компьютеру делать что-то, что он все еще программирует.

3
ответ дан Michael Neale 24 June 2015 в 16:35
поделиться

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

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

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

Разработанный правильно, механизм правил может все еще включить систему организации технологических процессов, которая допускает хорошее тестирование. В этом случае правила были сохранены в базе данных, и были базы данных QA и PROD. Таким образом, BA мог протестировать их правила в QA и затем продвинуть их для ПОДТАЛКИВАНИЯ.

Как с чем-либо, обычно о реализации а не фактической технике.

10
ответ дан Nick 24 June 2015 в 16:35
поделиться
  • 1
    " точно так же, как это делает в C#" - по-видимому, Вы сказали бы, что любая программа C++, в которой необходимо повредить ссылочный цикл со слабыми указателями, по определению " не well-designed"? – Steve Jessop 30 April 2010 в 02:39

Мой опыт ограничен (ii) (i) не очень и (ii) пролог; но я могу безопасно сказать, что механизм правила может помочь Вам выразить пропозициональные понятия, намного более чистые, чем процессуальный кодекс.

2
ответ дан Paul Nathan 24 June 2015 в 16:35
поделиться
  • 1
    7 голосов??? Люди должны действительно считать вопросы немного более тщательно. – Ash 30 April 2010 в 01:51

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

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

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

0
ответ дан cdeszaq 24 June 2015 в 16:35
поделиться
  • 1
    Я подозреваемый Nikko, возможно, имел в виду необработанные указатели, в противоположность интеллектуальным указателям. Последнее использование RAII для предотвращения утечек. – Steven Sudit 19 May 2010 в 16:35

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

  1. Ваша бизнес-логика сохраняется от единственного места вместо того, чтобы быть опрыснутой всюду по коду приложения. Технически, хорошо разработанное приложение должно уже сделать это с архитектурой, независимо от присутствующего механизма правила или нет.
  2. Необходимо волноваться [меньше] о зависимостях между декларативными операторами. Механизм правила должен быть достаточно умным для решения порядка выполнить правила на основе зависимостей. Можно найти, что некоторые механизмы правила поддерживают последовательное упорядочивание правил в ruleset или вызове rulesets (группы правил) в особом порядке, но это не находится действительно в духе декларативного программирования. Много механизмов правила используют Сеть (алгоритм) для решения, когда запланировать выполнение декларативных операторов.

Я подозреваю больше всего, если не все, механизмы правила добавляют больше служебное, чем если бы необходимо было записать самую лучшую программу, которая не использует механизм правила. Это подобно тому, как написание кода в блоке обычно быстрее, чем компилятор (но Вы обычно не пишете блок, потому что это более удобно и продуктивно использовать высокоуровневые абстракции).

Если бы необходимо было остановиться здесь, то Вы, вероятно, использовали бы программистов, чтобы поддержать правила и использовать механизм правила в качестве удобного способа создать уровень бизнес-логики в Вашем приложении. Некоторые механизмы правила предлагают что-то названное шаблонами, которые позволяют Вам определить шаблоны для правил. Преимущество здесь состоит в том, что нетехнические пользователи, как предполагается, могут записать свои собственные правила и изменить существующие правила.

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

4
ответ дан 30 November 2019 в 06:39
поделиться

Механизмы правил обычно используются в страховом бизнесе. Я работал над системами с сотнями (600ish) правила, которые были реализованы в механизме правил. Это работало очень хорошо.

2
ответ дан 30 November 2019 в 06:39
поделиться

У вас есть кредитный рейтинг? Может быть, оценка FICO ? Это F air I saac CO rporation, разработчики механизма правил Blaze.

2
ответ дан 30 November 2019 в 06:39
поделиться

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

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

Действительно.

3
ответ дан 30 November 2019 в 06:39
поделиться
Другие вопросы по тегам:

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