Teniendo en cuenta que se almacenan en memoria y que hace una busqueda por hash y no "entre todas las properties", a no ser que tengas el código lleno de esas llamadas y se repitan dentro de bucles bastante grandes, no creo ni que pudieras medir la diferencia entre una aproximación u otra
.
La razón básica para hacerlo así es que es mucho más sencillo de implementar(los inicializadores estáticos no se suelen recomendar mucho) y te podría permitir re-cargar las propiedades en caso de que se modifiquen durante una ejecución, según como implementes la clase Configure.
Por otro lado, queda mucho más claro que es un valor que se puede modificar y cual es la clave para acceder a el.
Yo si veo
Cita: String hello = Constantes.SALUDO;
pienso que estoy tratando con una constante y por lo tanto la asignación no tiene sentido, supongo que el valor ya es correcto etc.
Si veo
Cita: String hello = Configure.getPropiedad(Constantes.SALUDO)
Sé cual es el nombre por el que se guarda esa propiedad, sé que es "un input" y por tanto tengo que verificar si el valor es admisible, sé que existe la posibilidad de que cambie etc.
Claro que sabiendo de que va la cosa puedes averiguarlo, pero ya es una cosa más a tener en cuenta.
Esas son las razones que se me ocurren. Pero vamos, cada uno en su codigo hace lo que puede y le dejan, y como no creo que tenga que tocar tu código pues realmente me da igual
. Sólo quería aclarar que ni por rendimiento, ni por claridad es mejor solución.
S!