Хранить иерархические данные Const

Я часто задавался вопросом, как это сделать:

Например, в моей программе у меня есть около 100 констант (или перечислений), которые используются в некоторых вычислениях. Их желательно хранить в одном месте. Их можно сгруппировать иерархически, например:

System3 / Rules / Rule7 / ParameterXY / MaxAverageValue

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

Насколько я могу судить, это можно сделать с помощью:

  • очень длинных имен констант
  • вложенных классов
  • пространств имен

Использование имен довольно некрасиво и не очень хорошо обслуживается. Я считаю, что вложение классов - хороший способ сделать это, но некоторые правила stylecop / fxcop запрещают это, так что это должно быть в каком-то смысле «плохо». Наконец, я считаю, что предлагаемая альтернатива с использованием пространств имен тоже не очень хороша. Имхо он создает массу папок и файлов, каждая из которых почти ничего не содержит. И мне не нравится, когда в отражателе сборки всплывают 50 подпространств имен.

Итак ... как вы справляетесь с подобными задачами? Что бы вы посоветовали?

5
задан svick 17 November 2011 в 12:17
поделиться