Enums VS Classes VS Interfaces

Eu tenho lido muitas postagens neste site sobre o uso de constantes.

Pergunta: Quando devo usar Enums para constantes, vs usando classes ou interface

Vejo duas situações principais que pretendo resolver.

1. Constantes globais usadas em aplicativos por vários projetos.

Exemplo

Strings de log comunseferências do @tainer como uma referência de mapeamento de banco de dados usada no @ EAR do WebSphere E 2. Constantes específicas de objeto

Exemplo

Emissões de pagamento de funcionário para um Objeto de funcionário

De tudo o que li, é sobre o que eu acho que entendo e sobre o que estou procurando uma opinião.

ara a situação 1: Abordagem de design: use uma classe final e uma importação estátic
Veja aqui: Qual é o uso de constantes de interface?

ara a Situação 2: Abordagem de design: aplique o uso de Enums para representar essas constantes como um objet

Pontos adicionais a serem lembrados:

Se a string constante pertence à classe e você só precisa manter o valor da string na classe que a usa Não use uma interface para a situação 1. Conforme mencionado no link acima como Antipadrão de interface constante. .

Agradecemos antecipadamente por pensamentos e opiniõe

questionAnswers(3)

yourAnswerToTheQuestion