lunes, 3 de noviembre de 2008

Codificación: datos de la aplicación como recursos XML embebidos (parte I).

Parte I: Resumen.

Parte II: La definción del archivo XML.

Parte III: Encapsulamiento.

Parte IV: Que funcione.

Hoy tengo ganas de meter las manos en el barro y jugar un poco. Esta es la primera entrega de un artículo en el quiero ejemplificar algunas técnicas de manejo de recursos en C# con Visual Studio que hemos ido perfeccionando en el trabajo y que nos han resultado de muchísima utilidad.

I. Resumen.

Utilizamos recursos cuando se trata de almacenar datos propios de la aplicación que no deben ser modificados durante la ejecución y que conviene tener en un repositorio propio más que hardcodeados por todo el código.

El ejemplo típico, el texto que corresponde a etiquetas y mensajes con la posibilidad de que se requieran varios juegos por idioma, tiene un tratamiento muy específico (ver Recursos en aplicaciones (MSDN)).

Pero aquí pretendo ejemplificar el tratamiento de recursos que a) no dependen del idioma en el que el usuario esté utilizando la aplicación y b) son más complejos que un diccionario de cadenas de texto.

Para desarrollar el código, utilizaré como ejemplo el menú de la aplicación: supongamos que tenemos una aplicación con una estructura de funcionalidades organizada en menúes y submenúes, y que no queremos que ésta sea configurable por el usuario ni que pueda ser modificada de manera alguna luego de la compilación y el pasaje a producción.

Con estas especificaciones podríamos crear un menú directamente sobre el formulario principal del sistema utilizando el diseñador. Sin embargo, esto es muy incómodo cuando la aplicación es grande, y difícil de modificar y mantener a futuro. Por otro lado, estaríamos mezclando conceptualmente la estructura de funcionalidades (propia del negocio) con la forma específica de presentarlo al usuario. Si un día en vez de un menú queremos presentarla en un Treeview, o de cualquier otra manera, estaremos en problemas.

Empezaremos con algo simple y "que funcione" y luego lo iremos refinando.

Parte I: Resumen.

Parte II: La definción del archivo XML.

Parte III: Encapsulamiento.

Parte IV: Que funcione.

No hay comentarios.: