Я читал много сообщений на этом сайте относительно использования констант.
Вопрос: Когда я должен использовать Enums для констант, vs используя классы или интерфейсы.
Я вижу две ключевые ситуации, которые я ищу.
1. Глобальные константы, используемые в приложениях несколькими проектами.
Пример:
- Общие строки ведения журнала
- Контейнерные ссылки, такие как ссылка на сопоставление базы данных, используемая в WebSphere EAR
2. Конкретные константы объекта
Пример:
- Ставки оплаты труда для объекта сотрудника
Из всего, что я прочитал, это то, что я думаю, что понимаю и что я ищу.
Для ситуации 1:
Подход к дизайну: используйте конечный класс и статический импорт.
Видел здесь: Что такое интерфейсные константы?
Для ситуации 2: Подход к дизайну. Применяйте использование Enums для представления этих констант в качестве объекта.
Дополнительные пункты для запоминания:
- Если константная строка принадлежит классу, и вам нужно только строковое значение сохранить в классе, который использует его
- Не используйте интерфейс для ситуации 1. Как упоминается в ссылке выше как Anti-Pattern. ,
Заранее благодарим за мысли и мнения.