Empezando con Silverlight – Play Silverlight

Toda vez que se empieza a trabajar con una tecnología, es importarte conocer los patrones de diseño que mejor se adaptan a dicha tecnología. En el caso de Silverlight y WPF, ese patrón es el Modelo-Vista-Modelo Vista (MVVM).

En este modelo la vista es una mezcla de XAML y C#, el modelo representa los datos disponibles, y el modelo-vista prepara el modelo para asociarlo a la vista.

En la imagen superior se puede ver la estructura de este patrón. Como se puede ver el modelo es importante dado que encapsula el acceso a los datos, el cuál se realiza habitualmente mediante servicios web.

También puede observarse que al estar separados modelo y vista-modelo se consigue un desacoplamiento que permite testear la visualización de datos sin necesidad de tener el modelo.

Diseño modular con Prism

El patrón MVVM consigue un diseño por capas que facilita el desarrollo de aplicaciones Silverlight. Sin embargo, existen una serie de problemas que surgen conforme la aplicación va creciendo y sufriendo cambios, y que dificultan su mantenimiento.

La solución a esto consiste en crear un diseño modular, formado por varios componentes independientes, de forma que un cambio en uno de ellos no afecte al resto. El proyecto Prism proporciona una serie de técnicas de composición que facilitan el desarrollo de aplicaciones compuestas.

MEF ¿ alternativa o complemento a Prism?

Entre las nuevas características que trae consigo la aparición del .NET Framework 4, destaca MEF (Managed Extensibility Framework). Se trata de una librería que facilita el desarrollo de aplicaciones compuestas, permitiendo además que se haga de forma dinámica. Esto supone que no hace falta recompilar el código para ofrecer nuevas funcionalidades.

Con esta pequeña descripción puede parecer que ambas librerías se solapan en su objetivo y, en cierta manera, es así dado que ambas facilitan la implementación de composición en las aplicaciones. Sin embargo, sí que existe una diferenciación más clara en lo que interfaz de usuario se refiere, ya que MEF no tiene componentes específicos para IU como sí tiene Prism, como el gestor de regiones (RegionManager), comandos (Composite Commands) o agregador de eventos (EventAggregator).

Hasta aquí este primer acercamiento a Silverlight y sus patrones de desarrollo.

Fuentes originales:

Anuncios
Esta entrada fue publicada en Patrones, Silverlight y etiquetada , , , . Guarda el enlace permanente.

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s