El Ámbito de la Localidad

No existe algo parecido a una Localidad global en el lenguaje de programación Java. Se puede especificar una localidad por defecto, como se describió en la página anterior, pero no es necesario que se utilice la misma localidad a lo largo de todo el programa. Si se desea, se pude asignar un objeto Locale diferente para cada objeto sensible a la localidad de nuestro programa. Este es el caso cuando se escriben aplicaciones multi-idioma, que pueden mostrar información en distintos idiomas. Pero para la mayoría de las aplicaciones se seleciona el mismo objeto Locale para todos los objetos sensibles a la localidad.

La programación distribuida alcanza algunas cotas interesantes. Por ejemplo, supongamos que hemos diseñado una aplicación servidor que recibe peticiones de clientes de distintos paises. Si el objeto Locale de cada cliente es diferente, ¿cual debería ser el objeto Locale del Servidor? Quizás el servidor sea multi-hilo, y cada thread seleccione su objeto Locale para los servicios de su cliente. O quizás todos los datos pasados entre el servidor y lo clientes deberían ser independientes de la localidad.

¿Qué diseño deberíamos utilizar? La respuesta depende de los requerimientos específicos de la aplicación, si están involucrados sistemas legales, y de lo complejo que se quiera el sistema. Teoricamente, se podrían selecionar todos los objetos sensibles a la localidad tanto en el cliente como en el servidor con un objeto Locale diferente. Por supuesto, esto no podría ser en la práctica, pero demuestra la flexibilidad de los objetos Locale en el lenguaje de programación Java.


Ozito