Publicado el 25 de Octubre del 2020
463 visualizaciones desde el 25 de Octubre del 2020
438,5 KB
47 paginas
Creado hace 14a (29/07/2010)
1
Estilo de Aplicación
y
Mejores Prácticas
Construcción de aplicaciones cliente robustas, escalables
y de fácil mantenimiento utilizando PureMVC
con ejemplos en ActionScript 3 y MXML.
PureMVC es libre, de código abierto creado y mantenido por Futurescale, Inc. Copyright © 2006-08, algunos derechos reservados.
La reutilización se rige por la Creative Commons Attribution 3.0 License EE.UU.. PureMVC, así como la documentación y los
materiales de formación o de código fuente de demostración descargado de sitios web Futurescale son proporcionados "tal cual"
sin garantía de ningún tipo, ya sea expresa o implícita, incluída pero no limitada a, las garantías implícitas de idoneidad para un
fin, o la garantía de no infracción.
Componentes VisualesObjetos de DatosLocales o RemotosFachadaMediadorMediadorMediadorMediadorMediadorVistaControladorComandoComandoComandoComandoProxyProxyProxyProxyModeloProxyCualquieraComandoObjObjObjObjObjUIUIUIUIUICualquieraCualquiera
PureMVC Gestalt
Modelos y Proxies
Vistas y Mediadores
Controlador y Comandos
Fachada y principales
Observadores y Notificaciones
2
4
4
4
5
5
5
Las Notificaciones pueden ser utilizadas para disparar la ejecución de un comando 6
Los Mediadores envían, declaran objetivos en, y reciben Notificaciones
Los Proxies envían, pero no reciben Notificaciones
Fachada (Facade)
¿Qué es una Fachada específica?
Crear una Fachada específica para su aplicación
Inicializando su fachada específica
Notificaciones
Eventos vs. Notificaciones
Definiendo Eventos y Notificaciones Constantes
Comandos
Utilización de Macro y Simples Comandos
Acoplamiento libre de Comandos a Mediadores y Proxies
Organización de acciones complejas y de lógica empresarial
6
6
7
8
8
11
13
13
14
16
16
17
17
PureMVC es libre, de código abierto creado y mantenido por Futurescale, Inc. Copyright © 2006-08, algunos derechos reservados.
La reutilización se rige por la Creative Commons Attribution 3.0 License EE.UU.. PureMVC, así como la documentación y los
materiales de formación o de código fuente de demostración descargado de sitios web Futurescale son proporcionados "tal cual"
sin garantía de ningún tipo, ya sea expresa o implícita, incluída pero no limitada a, las garantías implícitas de idoneidad para un
fin, o la garantía de no infracción.
Mediadores
Responsabilidades de un Mediador específico
Casting implícito del Componente Visual
Escuchando y Respondiendo al Componente Visual
Gestionando Notificaciones de un Mediador Especifico
Acoplamiento de los Mediadores a los Proxies y a otros Mediadores
Interacción del Usuario con Componentes Visuales y Mediadores
Proxies
Responsabilidades de un Proxy específico
Casting implícito de un Objeto de Datos
Previendo acoplamiento a Mediadores
Encapsulando Lógica de Dominio
Interactuando con Proxies Remotos
Inspiración
3
23
23
24
25
27
30
32
36
36
37
39
40
41
PureMVC es un patrón basado en un
framework
originalmente dirigido por la necesidad actual en el interés de
diseño de clientes RIAs de alto desempeño. Ahora ha sido portado a
otros estilos y plataformas, entre ellas los entornos de servidores.
Este documento se centra en el lado cliente.
Si bien
la
interpretación y
implementaciones son
específicas a cada plataforma soportada por PureMVC, los patrones
empleados están bien definidos en el famoso libro “Brigada de
Cuatro": Patrones de Diseño: Elementos del Software Reutilizable
Orientado a Objetos (ISBN 0-201-63361-2).
las
Altamente recomendado.
PureMVC es libre, de código abierto creado y mantenido por Futurescale, Inc. Copyright © 2006-08, algunos derechos reservados.
La reutilización se rige por la Creative Commons Attribution 3.0 License EE.UU.. PureMVC, así como la documentación y los
materiales de formación o de código fuente de demostración descargado de sitios web Futurescale son proporcionados "tal cual"
sin garantía de ningún tipo, ya sea expresa o implícita, incluída pero no limitada a, las garantías implícitas de idoneidad para un
fin, o la garantía de no infracción.
4
PureMVC Gestalt
El framework PureMVC tiene un objetivo muy específico. Esto es para ayudarle a separar
los objetivos de codificación de su aplicación en tres niveles discretos; Modelo, Vista y
Controlador.
Esta separación de objetivos, y la tensión y la dirección de los acoplamientos utilizados
para hacerlos trabajar en conjunto es de suma importancia en la construcción de
aplicaciones escalables y de fácil mantenimiento.
En esta implementación del clásico meta - patrón de diseño MVC, estos tres niveles de la
aplicación se rigen por tres Singleton (una clase de la que sólo una instancia se puede
crear) llamados simplemente Modelo, Vista y Controlador. Juntos, ellos se conocen como
los "actores principales".
Un cuarto Singleton, la fachada (facade) simplifica el desarrollo, proporcionando una única
interfaz para la comunicación con los actores principales.
Modelos y Proxies
El Modelo simplemente cachea referencias con nombres a los Proxies. El código Proxy
manipula el modelo de datos, comunicando con los servicios remotos si necesita
hacerlos persistentes o recuperarlos.
Esto resulta en el código portable de nivel de Modelo.
Vistas y Mediadores
La Vista primeramente cachea las referencias con nombres a los Mediadores. El código
Mediador administra los Componentes Visuales, agregando oyentes (listeners) de
eventos, enviando y recibiendo notificaciones hacia y desde el resto del sistema en su
nombre y directamente manipulando su estado.
Esto separa la definición de la Vista de la lógica que la controla.
PureMVC es libre, de código abierto creado y mantenido por Futurescale, Inc. Copyright © 2006-08, algunos derechos reservados.
La reutilización se rige por la Creative Commons Attribution 3.0 License EE.UU.. PureMVC, así como la documentación y los
materiales de formación o de código fuente de demostración descargado de sitios web Futurescale son proporcionados "tal cual"
sin garantía de ningún tipo, ya sea expresa o implícita, incluída pero no limitada a, las garantías implícitas de idoneidad para un
fin, o la garantía de no infracción.
PureMVC Gestalt
Controlador y Comandos
5
El Controlador mantiene mapeos con nombres a clases de comandos, el mismo es
“stateless” (no guarda estados), y sólo se crea cuando se necesita.
Los Comandos deben recibir e interactuar con los Proxies, enviar Notificaciones,
ejecutar otros Comandos, y a menudo son utilizados para organizar actividades
complejas o sistemas amplios tales como inicios y cierres de aplicación. Ellos son el
lugar de residencia de la Lógica de Negocio de su aplicación.
Fachada y principales
La Fachada (facade), otro Singleton, inicializa los “actores principales” (Modelo, Vista
y Controlador), y provee un único espacio de acceso a todos sus métodos públicos.
Extendiendo de la Fachada, su aplicación obtiene todos los beneficios de los “actores
principales” sin tener que importar y trabajar con ellos directamente. Implemente una
Fachada específica para su aplicación sólo una vez y estará simplemente lista.
Proxies, Mediadores y Comandos deben entonces utilizar la Fachada específica de su
aplicación a fin de acceder y comunicarse con los demás.
Observadores y Notificaciones
Las aplicaciones PureMVC deben ejecutarse en entornos sin acceso a Eventos Flash y
clases EventDispatcher, por que el framework implementa un esquema Observador de
notificaciones para comunicaciones entre los actores principales MVC y otras partes
del Sistema en una vía de acoplamiento libre.
PureMVC es libre, de código abierto creado y mantenido por Futurescale, Inc. Copyright © 2006-08, algunos derechos reservados.
La reutilización se rige por la Creative Commons Attribution 3.0 License EE.UU.. PureMVC, así como la documentación y los
materiales de formación o de código fuente de demostración descargado de sitios web Futurescale son proporcionados "tal cual"
sin garantía de ningún tipo, ya sea expresa o implícita, incluída pero no limitada a, las garantías implícitas de idoneidad para un
fin, o la garantía de no infracción.
PureMVC Gestalt
Observadores y Notificaciones
6
A usted no
le conciernen
los detalles acerca de
la
implementación de
Observadores/Notificaciones PureMVC, eso es interno del framework. Usted sólo
utilizara un único método para enviar Notificaciones desde los Proxies, Mediadores,
Comandos y la Fachada misma que ni siquiera requieren que cree una instancia de
Notificación.
Las Notificaciones pueden ser utilizadas para disparar la ejecución de un Comando
Los Comandos están mapeados a nombres de Notificaciones en su Fachada específica,
y son automáticamente ejecutados por el Controlador cuando las Notificaciones
mapeadas son enviadas. Los Comandos típicamente organizan complejas interacciones
entre los objetivos de las Vistas y el Modelo, sabiendo tan poco de cada uno como sea
posible.
Los Mediadores envían, declaran interés en, y reciben Notificaciones
Cuando son registrados con la Vista, los Mediadores son interrogados por los objetivos
que tengan sus m
Comentarios de: PureMVC - Estilo de aplicación y mejores prácticas (0)
No hay comentarios