Выбрать движок бизнес-логики
C#+ReSharper
excel - это адски сложноКстати, во многом благодаря электронным таблицам произошел взрывной рост популярности персональных компьютеров http://en.wikipedia.org/wiki/Killer_application#Example
ps
обычно, от движков бизнес-логики требуют следующее:
- визуализация правил
- dataflow (автоматический пересчет зависимых данных при изменении исходных данных или настроек)
- изменение правил не программистом или программистом с низким кол-вом опыта
- изменение правил по месту, без необходимости пересборки всех правил
это обычно делается за счет резкого уменьшения кол-ва используемых элементарных блоков, а также за счет использования записи кода, легко парсящейся внешними средствами (чаще всего это приводит или к xml-ю, или к своему недоязычку).
pps
из твоего же описания выходит, что всё это тебе не надо - значит скорее всего тебе надо смотреть в какую-то другую сторону
записью правил должны делаться лучше, и за счет чего?В языках общего назначения часто не реализован принцип Dataflow http://en.wikipedia.org/wiki/Dataflow
Для бизнес логики (для некоторых ее видов) это очень удобно.
excel - это адски сложноКстати, электронные таблицы обязаны взрывному росту персональных компьютеров http://en.wikipedia.org/wiki/Killer_application#Example
Сегодня я столкнулся с необходимостью добавить ещё несколько правилвообще, конечно, если тебе нужна дешевая стоимость сопровождения (возможность внесения мелких исправлений по низкой себестоимости с минимальными рисками уронить всё), то стоит смотреть в сторону статически-типизированных языков.
если не пугают ФЯ и слабые IDE, то смотри в сторону статически-типизированных ФЯ - те же haskell, scala и т.д.
иначе остается Java или C#
чем запись поверх движка должна отличаться от записи в ЯП?в общем, ничем. Нормальные ЯП достаточно лаконичны, чтобы желать записи в каком-то другом виде. Плюс могут быть всякие reader macros, макрорасширения и template haskell для реализации странных желаний. Имеется в виду какая-нибудь библиотека примитивов с элементами для управления процессом. Программист пишет набор входных процедур, позволяющих снимать показания с работающей системы и передаёт дальше в систему анализа в одном из нескольких видов (ну там событие, шкалы и т.п.) Библиотека представляет набор правил и их комбинаторов, некоторая конфигурация которых анализирует текущую ситуацию и выдаёт заложенное для этого случая поведение как некоторые абстрактные типа вывода. Программист пишет процедуры, которые позволяют эти типы вывода применять к системе.
Почему я хочу готовую библиотеку - надеюсь, что кто-нибудь с большим опытом подобрал такой набор элементарных блоков, чтобы он логично сочетался и чтобы на практике он не сваливался в нечитаемый ужас. То есть эти блоки конфигратора и правила комбинации их могут иметь сильно ограниченную выразительность, применимую только к узком домену, но за счёт этого они должны легче читаться и дополняться. Мне кажется, что самому составлять архитектуру такой библиотеки дело весьма затратное по времени, и боюсь, что не смогу получить требуемого с первой попытки.
они должны легче читаться и дополняться. Мне кажется, что самому составлять архитектуру такой библиотеки дело весьма затратное по времени, и боюсь, что не смогу получить требуемого с первой попытки.по моему хороший повод покачаться в написании читаемого кода
серебряной пули не бывает. Но бывают, скажем так, хорошо разработанные концепции. Наприме конечный автомат или сети петри. Можно привязаться к этому представлению алгоритма, возможно даже найти небольшую либу, но там всё тривиально, можно и самому написать, и сделать софт на основе данной конвенции. Но эти подходы широки, и поэтому я интересуюсь может есть более узкоспециализированные практики и готовые библиотеки, монады, etc
Имеется в виду какая-нибудь библиотека примитивов с элементами для управления процессом.я понимаю что ты хочешь, и это вполне разумно и имеет право на жизнь - но по факту я ничего красивого не встречал, потому что такого рода задачи решаются или инженерами (и под них делается один тихий ужас), или планктоном (под них делается другой тихий ужас).
Вот еще таким можешь проникнуться.
я же написал, что не бизнесм хочу рулить, а компом. просто бизнес процессы - это самое близкое из того, что приходит в голову
UPD. а, Апелар уже...
Я, пожалуй, не буду больше троллить и просто уйду из топика.
Оставить комментарий
yroslavasako
Ищу движок для бизнес логики, никогда раньше ничем подобным не страдал. Соответственно критерии: простота вхождения для программиста (т.е. excel - это адски сложно), гибкость настроек бизнес-процесса, логическое упорядочение настроек. Производительность не критична абсолютно.Движок будет использоваться для скриптования powersafe поведения ноутбука. Потому что три набора баш скриптов с пересекающимся функционалом и неявными параметрами, которые нужно между ними выдерживать слишком сложны в использовании из-за своего стохастического происхождения трудны для запоминания. Сегодня я столкнулся с необходимостью добавить ещё несколько правил срабатывания и дополнительных состояний. По личным ощущениям проще уже сделать с нуля на более подходящем инструменте, чем добиться более выборочного поведения от предустановленных скриптов.