Enum ou properties para mensagens?

5 respostas
thiagoaos

Olá tava aqui testando o uso de enum , pois tava querendo definir padrões de mensagens.

Fiz esse enum abaixo para testes, porém queria saber se é mais viavel para este caso utilizar enum ou properties, em termo de velocidade e praticidade.

public enum Mensagens {
	ERRO("Aconteceu um erro na operação ${1}."),
	OKCADASTRO("Cadastro do(a) ${1} efetuado com sucesso."),
	FRASE("João comprou ${1} na feira de ${2} por ${3}.");
	
	private final String value;
	
	Mensagens(String value){
		this.value = value;
	}
	
	public String value(){
		return value;
	}
	
	public String show(String... params){
		int i = 1;
		String retorno = this.value;
		
		for(String param : params){
			retorno = retorno.replace("${"+i+"}", param);
			i++;
		}
		return retorno;
	}
	
	public String toString(){
		return value;
	}
}

Para usar

System.out.println(Mensagens.FRASE.show("BADOGUE","ARMAS","5 reais"));

O que vocês acham?
Por um lado é bom que o cara não vai ter que passar a chave (string) para pegar o valor. E ainda vai ter o autocompletar da ide para saber quais as mensagens, menos sujeito a erro.

5 Respostas

ciczan

A vantagem de usar propeties é que vc pode colocar as mensagens em um arquivo texto separado.

No caso do enum tem que alterar no código mesmo. Se isso não for problema pra vc, acho melhor o enum.

Tenho usado enums em alguns casos de listas discretas e to gostando bastante.

thiagoaos

Então a vantagem mesmo seria de ele está separado, e poder atualiza-lo sem tocar no codigo da aplicação.

Em termo de peformance muda muita coisa?

T

Acho que não é isso que vai impactar sua aplicação :stuck_out_tongue:
Normalmente o que costuma impactar aplicações é:

  • Acessos desnecessários ao banco de dados, e consultas mal-feitas;

  • Log ligado direto;

  • Excessivas concatenações de strings usando “+=”;

  • Não usar variáveis temporárias quando necessário, para evitar rechamar a mesma coisa trezentos milhões de vezes;

  • Algoritmos ruins para fazer as coisas (por exemplo, achar a diferença entre duas datas pegando a primeira data e somando de 1 em 1 dia, até chegar à segunda data).

Deh

Usar váriaveis temporarias quando necessario, não?

thiagoaos

Usar váriaveis temporarias quando necessario, não?

Creio que ele queria dizer, só usar variáveis temporárias quando realmente necessárias.

Criado 17 de outubro de 2006
Ultima resposta 18 de out. de 2006
Respostas 5
Participantes 4