Какие факторы побуждают вас использовать встроенные скрипты в своих приложениях? - PullRequest
2 голосов
/ 20 июня 2009

Какие факторы вы учитываете в процессе принятия решения при выборе встроенного сценария и могут ли проблемы конфигурации и изменения быть преодолены исключительно с помощью IOC и шаблона Plugin?

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

Ответы [ 2 ]

3 голосов
/ 20 июня 2009

Много раз я делал внутренние структуры данных изменяемыми через Python или Lua. Иногда извлекают бизнес-логику в загружаемые модули. Это делает ваше решение также многократно используемой платформой , которую можно развернуть на других клиентах дешево . Это также ускоряет исправления «на месте» (просто обновите текстовый файл) и дает клиентам свободу изменять свои собственные динамические данные.

Если вы можете безопасно выставить API , не ломая вещи ... почему бы и нет?

Мои две проблемы:

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

Чистый фреймворк == Повторно используемый код и платформа, которую вы можете быстро изменить, чтобы решить проблемы того же рода без перекодирования.

1 голос
/ 20 июня 2009

Я использовал эту технику в 2 сценариях:

  1. Я хочу предоставить клиентам / клиентам некоторую возможность самостоятельно выполнять некоторые (ограниченные) настройки. например окрашивать диаграмму в красный цвет, если значение превышает 50, что позволяет им набирать короткий сценарий, такой как «if val> limit, затем« red »» и т. д. Однако вы должны быть осторожны, чтобы ограничить возможности пользователя по программированию (по понятным причинам )
  2. Когда мне нужна некоторая настройка программного обеспечения в полевых условиях (т. Е. Перекомпиляция не возможна), и я знаю, что мне потребуется немного больше, чем возможность включать / выключать компоненты. Поэтому я реализую некоторый механизм, в котором приложение настраивается с помощью компонентов с поддержкой сценариев

(Я в основном на основе Java, поэтому я использую встроенные сценарии Java 6 и различные языки для достижения вышеуказанного, в зависимости от фокуса)

...