Autonomous View

El primer patrón es el de “vista autónoma”, un patrón de arquitectura. Es el más familiarizado para los programadores Flex, seguramente, en nuestros desarrollos Flex hemos seguido la idea de este patrón sin conocerlo.

Características del patrón

  • El estado se sitúa en la vista
  • La lógica se sitúa en la vista

El patrón Autonomous View se implementa directamente en la vista. Las vistas autónomas controlan sus propios estados e interactúan con otras, si es necesario.

La intención principal del patrón Autonomous View es crear pequeños componentes reusables, que se usan para crear una jerarquía de vistas compuestas. En casos extremos, la lógica de negocio y las interacciones con servicios remotos también se implementan directamente en las vistas, aunque algunas arquitecturas intentan extraer este tipo de lógica en clases separadas para poderse usar en distintas vistas.

Es atractivo debido a su simplicidad.

NOTAS SOBRE EL PATRÓN

Difícil aplicación de unit testing

Técnicas de unit testing como son los mock objects, inyección de dependencias y factory methods no están disponibles para MXML.
En el uso de managers de Flex como el pop-up manager, este patrón causa comportamiento indeseable cuando se ejecutan estos tests.
Algunos eventos sólo si disparan con la interacción del usuario.
El uso de elementos de tipo efects y states dificultan la implementación de unit tests.

Separación de código algo pobre

Normalmente, una vista compuesta se crea a partir de un container. Dividir la aplicación de esta manera puede limitar la refactorización, además se suele caer en duplicación de código y en inconsistencias de comportamiento.

Aplicación de ejemplo

En este enlace hay el ejemplo que nos presenta el autor. Este ejemplo sigue el siguiente diagrama:

Diagrama de clases de Autonomous View

En el ejemplo, las clases AlbumBrowser y AlbumForm, son mxml que implementan su propia lógica, de manera que si se deseara substituir estas clases, las nuevas deberían volver a reescribir el mismo comportamiento.

Conclusiones sobre este patrón

Es el patrón de presentación más simple y el más usado en la comunidad Flex. Una explicación a que sea el más usado, podría ser que en los ejemplos que se siguen cuando aprendemos esta tecnología, se mezcla la lógica en los componentes de vista para hacerlo más fácil.

En aplicaciones grandes y con múltiples vistas, nos puede ocasionar limitaciones e incluso problemas.

Comparte:



3votos  Vota!!

Acerca de esta entrada