@ robbymurphy имеет отличный ответ.Я бы только добавил, что большинство констант и интерфейсов я храню в отдельном проекте / сборке.Я называю это своей «базовой» сборкой и определяю интерфейсы, которые позволяют мне передавать данные от вершины стека к основанию без их тесной связи.
Не столько там, где они используются, но длячто за мочеиспусканиеОднажды я посетил семинар, где преподаватель снова и снова стучал в наши головы «высокая сплоченность, слабая связь».
Храните те вещи, которые в реальном мире принадлежат друг другу, но уменьшают зависимости между объектами всякий раз, когда это возможно.
Это вопрос сплоченности, а также проблема связи: есликонстанты действительно являются внутренними для класса, делают их закрытыми статическими членами (т. е. и enum внутреннего состояния).Если они действительно являются внутренними для проекта, создайте для них класс и сделайте их внутренними (константа, специфичная для базы данных на вашем уровне данных).В противном случае поместите их в открытый класс в своем собственном проекте.