Класс констант против web.config AppSettings - PullRequest
4 голосов
/ 01 февраля 2012

Я видел парня, определяющего конфигурации (например, ключ, некоторые статические имена и т. Д.) Внутри имен классов Constants, у которых есть const свойства.

Я знаю, что это самый элегантный способ использованияконфигурационные файлы для такого рода сценариев , как описано здесь , но каковы преимущества?Я могу предположить, что выигрыш в производительности должен быть, даже если он небольшой.

Ответы [ 3 ]

8 голосов
/ 01 февраля 2012

Преимущества состоят в том, что вы можете изменять эти значения во время выполнения, с помощью констант вы можете изменять только значения во время компиляции (то есть, если вам нужно что-то изменить, вам нужно перекомпилировать и повторно развернуть).

Iпо-прежнему использовать константы и классы «Константы» для внутренних настроек, которые, я знаю, не нужно менять во время выполнения.Это сэкономит вам немного времени при чтении, разборе и настройке классов конфигурации (ConfigurationManager и т. Д.).Но если есть хоть какой-то маловероятный шанс изменить настройки во время выполнения или после развертывания, экономия производительности не стоит дополнительных хлопот (IMHO).

4 голосов
/ 01 февраля 2012

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

Использование const дает преимущество, если нет возможности изменить значение. Прирост производительности незначителен.

2 голосов
/ 01 февраля 2012

Жестко закодированные постоянные значения компилируются;и если вам понадобится изменить их по какой-либо причине позднее, вам придется открыть исходный код, перекомпилировать, опубликовать.

Текстовая конфигурация (app.config, web.config, файлы пользовательских настроек, база данных) можно изменить, если это необходимо, без необходимости перекомпилировать исходный код приложения.В худшем случае вам придется перезапустить приложение.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...