Я пишу систему, которая развернута в нескольких местах, и каждому сайту нужны свои собственные конфигурации и настройки.«Конфигурация» - это именованное значение, которое необходимо для определенного сайта (например, URL базы данных, имя сегмента S3);каждая конфигурация необходима, обычно не существует значения по умолчанию, и обычно оно имеет строковое значение.Параметр является именованным значением, но он просто настраивает поведение системы;он часто числовой или логический, и обычно есть некоторые значения по умолчанию.
До сих пор я использовал файлы свойств или что-то подобное, но это ужасное решение.Несколько раз разработчик добавлял требование для конфигурации, но не добавлял значение в файл для оперативной конфигурации, поэтому новый выпуск прошел все тесты, а затем потерпел неудачу при выпуске в живую.
Лучше, конечнодля каждого файла, который будет скомпилирован - так что, если отсутствует конфигурация или файл неправильного типа, он не пройдет мимо компилятора - и внедрит специфичный для сайта класс в сборку для каждого сайта.Как кости, файл Scala может легко моделировать более сложные значения, особенно списки, но также карты и кортежи.
Недостатком является то, что файлы иногда поддерживаются людьми, которые не являются разработчиками, поэтому он долженбыть довольно понятным, что было преимуществом файлов свойств.(Кто-то объясняет мне конфигурации XML: вся сложность скомпилируемого файла, но риск времени выполнения файла свойств.)
То, что я ищу, - это простой шаблон для определения группы требуемых имен идопустимые значения.Есть предложения?