Escribo un pequeño servidor web y toma un archivo de configuración con todo tipo de opciones diferentes: cuántos hilos ejecutar, qué clase trata cada extensión de archivo, qué archivo mostrar por defecto y así sucesivamente. Para representar esto, estoy analizando el archivo de configuración en un objeto Configuration
que contiene todas estas configuraciones, y la clase principal contiene este objeto.
Sin embargo, los datos de configuración son necesarios en casi todos los niveles del servidor: clases dentro de las clases dentro de las clases ...Haciendo que la configuración esté disponible para todas las clases
Mi pregunta es, ¿cuál es la mejor práctica para usar aquí? ¿Debería dar la configuración como parámetro para muchas clases y pasarla de un lado a otro? ¿Debería convertirlo en singleton? ¿Hay alguna otra solución que no veo?
Esto puede interrumpirse tan pronto como más de una sola aplicación web esté instalada en el servidor. –
@Aaron Digulla - seguramente. Incluso puede romperse por sí mismo, si alguien establece una propiedad con un valor incorrecto. La única seguridad que uno tiene son nombres de propiedad bastante largos y específicos. Hay muchos tipos de propiedades en nuestra aplicación y el enfoque de propiedad del sistema se aplica a las más dinámicas. Luego hay propiedades desplegadas como XML enlazado, algunas propiedades en el Manifiesto y también algunas fuentes codificadas en las clases finales como miembros estáticos públicos. Y en mi humilde opinión hay razones válidas para usar cada uno de los enfoques. Simplemente no para todo – kostja