Это будет очень широкий ответ.
Звучит как вопрос, который выиграл бы как «код как данные».
Что я имею в виду, так это то, что суммаВозможности, с которыми вам приходится иметь дело во время выполнения, близки к сложностям использования самого языка программирования.
Когда это происходит, обычно есть несколько вариантов, которые люди выбирают случайно или сознательновыберите в зависимости от того, кто является пользователем.
- Ограничьте масштаб проблемы и сделайте свою конфигурацию настолько сложной, что это может быть также сам язык программирования.
- Встраивать язык сценариевили создайте загрузку плагинов во время выполнения на родном языке.
- Используйте готовую библиотеку / решение.
Я бы порекомендовал 2 или 3 над 1, если ваш пользовательВы сами или конфигурация может быть предоставлена другим программистом.