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