Приложение для новой отрасли собирается из настроек, а не пишется заново
Экраны, данные, права доступа и процессы описаны файлами настроек. Чтобы запустить продукт для другой отрасли, не нужно копировать и переписывать код.
Задача
На одной основе запускать приложения для разных отраслей — экспедирование грузов, автосервис — не копируя код.
Решение
Экраны, данные, права доступа и процессы описаны в файлах настроек. Из готовых блоков — таблица, форма, поле, кнопка, вкладки, меню — собирается интерфейс; там же описаны маршруты, сущности, кто что видит, запросы к данным и переводы.
Простые выражения подставляют данные, приводят типы, форматируют и проверяют условия. Настройки проверяются по схеме и собственным валидатором, поэтому ошибка находится до запуска, а не у пользователя.
Результат
157 модулей в основе, 60 модулей и 218 процессов в отраслевом приложении, ещё одно приложение на 14 модулей. Новая отрасль подключается настройками.
Второе применение того же подхода
Принцип тот же, что в системе учёта перевозок, задача другая: там настройками описаны процессы, здесь — экраны, данные и права.