Мне нужно распространять некоторую статическую конфигурацию через мое приложение. Какова наилучшая практика?
Я вижу три варианта:
- Вызовите
application:get_env
напрямую, когда требуется, чтобы модуль получил значение конфигурации.- Плюс: проще других.
- Минус: как протестировать такие модули, не доведя все приложение?
- Минус: как запустить определенный модуль с другой конфигурацией (если требуется)?
- Передайте конфигурацию (извлеченную из
application:get_env
), в прикладные модули во время запуска.- Плюс: модули легче тестировать, вы можете запускать их с другой конфигурацией.
- Минус: много шаблонов. Изменение формата конфигурации требует фиксации нескольких мест.
- Удерживайте конфигурацию в отдельном процессе настройки.
- Плюс: более или менее безопасный тип. Легче отслеживать, где используется определенный параметр, и изменять эти места.
- Минус: нужно запустить процесс настройки перед запуском модулей.
- Минус: как запустить определенный модуль с другой конфигурацией (если требуется)?