В чем основное различие между конфигурациями и переменными среды в программном обеспечении? - PullRequest
0 голосов
/ 03 ноября 2019

В чем основное различие между конфигурациями и переменными среды в программном обеспечении?

Для конфигураций в conf-файле, например address , порт и путь к файлу , они также могут рассматриваться как переменные среды. Но для таких конфигураций, как dfs.namenode.audit.log.debug.cmdlist (список команд NameNode, разделенных запятыми, которые записываются в журнал аудита namenode HDFS, только если уровень журнала аудита является отладочным.) вHDFS, не должно быть переменными среды. На мой взгляд, обе конфигурации и переменные среды задают параметры для программной среды. Поэтому конфигурации можно рассматривать как обобщенные переменные среды. Но существуют некоторые контрпримеры. Я хочу знать, что не так с этой идеей и разницей между конфигурациями и переменными среды.

1 Ответ

1 голос
/ 05 ноября 2019

Параметры для приложения могут быть заданы не только с помощью файлов конфигурации или переменных среды, но и другими способами, такими как аргументы командной строки, реестр Windows или таблица базы данных.

Я не знаюЯ думаю, что полезно рассматривать любой подход как обобщение другого подхода. Вместо этого разные подходы являются конкурирующими технологиями. По аналогии, компакт-диски конкурируют с аудиокассетами и виниловыми дисками, а не являются их обобщением.

Возможно объединить несколько конкурирующих технологий. Например, музыкальная система может включать магнитофон, проигрыватель компакт-дисков, проигрыватель компакт-дисков, радио и порт AUX-in (для подключения, скажем, к MP3-проигрывателю), чтобы вы могли наслаждаться музыкой с помощью любой из нескольких конкурирующих технологий. Если вы хотите увидеть пример интеграции нескольких конкурирующих технологий конфигурации, я предлагаю вам прочитать разделы 2.5 и 3.5 Руководства по началу работы Config4 * , чтобы увидеть, как файл конфигурации Config4 *Парсер (разработанный мной) интегрируется с переменными окружения и параметрами командной строки.

...