Mostrando las entradas con la etiqueta mate. Mostrar todas las entradas
Mostrando las entradas con la etiqueta mate. Mostrar todas las entradas

20 de junio de 2011

Funcionamiento de la etiqueta <Injector/> de MATE

Este post es para intentar aclarar la duda de Carlos González sobre el funcionamiento de los injectors de MATE

Primero lo primero, ¿Qué es un Injector?. De acuerdo a la definición de asfusion
An Injectors tag defined in the Event Map is a container for InjectorPropertys that will inject properties coming from a source to a target, but they can also be used for other purposes.

Lo que en español se traduce como: La etiqueta Injector definida dentro del mapa de eventos o Event Map, es un contenedor para inyectar propiedades que vienen de una fuente hacia un destino, pero también puede ser usada para otros propósitos.

Los injectores funcionan de la siguiente manera.


  1. Ejecutan las etiquetas internas en orden
  2. Los injectores se ejecutan cuando un objeto de una clase es definido en el atributo objetivo es creado
  3. Para que el inyector se ejecute, el objeto de esa clase necesita ser  creado dentro del display list, o ser instanciado por las etiquetas ObjectBuilder o MethodInvoker

Ahora, un ejemplo.
Suponte que tienes una clase que maneja una persona, la clase se llama ManagerPersona, y tiene una clase llamada Persons con nombre y apellido como atributos de la clase, luego quieres "inyectar" la instancia de la clase Persona dentro de una de tus vistas, por ejemplo un panel que se llame DetallePersona, el cual debe tener una instancia de la clase Persona, debes hacer lo siguiente:

<Injectors target ="{DetallePersona}" >
     <PropertyInjector
          source="{ManagerPersona}"
          sourceKey="persona"
          targetKey="persona">
     </PropertyInjector>
</Injectors>

target: La vista, o clase donde quieres inyectar la propiedad
source: De dónde viene tu dato
sourceKey: ManagerPersona, puede contener muchas instancias de diferentes clases, tienes que especificar cuál es la que te interesa.
targetKey: Al igual que el source key, tu target puede tener muchas instancias de diferentes clases, y debes especificar a dónde vas a mandar lo que viene del source.


Saludos.

Aquí un ejemplo super sencillo del funcionamiento de los injectors

Te dejo el fxp compilado en (FB4.5) BAJAR


10 de junio de 2010

MATE Framework por Laura Arguello

Nada más y nada menos que la Mamá de Mate, quién mejor que ella para explicarnos qué es y como funciona

16 de abril de 2010

Mate, Framework MVC para Flex

Asignar imagen
Mientras hago tiempo para irme a la Tucacas, por el fin de semana de semana largo o llamados también puentes en Venezuela, por el 19 de abril les voy a dar una breve introducción a MATE.
Hasta hace unas dos semanas atrás yo era uno de los que pensaba ¿Para qué co**os usar un framework MCV para desarrollar aplicaciones en Flex?, - El framework de Flex es MVC por si mismo – decía y peleaba con el @chiguire  y muchos otros, incluyendo a la gente de Adobe sobre mi rotunda negación a usar otra cosa que no fuera el SDK de flex solito. De hecho tengo por allí un post en las páginas de Adobe preguntando por qué usar frameworks MVC con flex. Ahora ya veo la razón
image ¿Que es MATE?
Pronunciado (Ma-te) tal cual en español, es un framework para flex, basado en etiquetas, y manejado por eventos, Flex es manejado por eventos, Mate ha sido creado para hacer más fácil manejar los eventos en la aplicación que desarrolles. Mate te permite definir quien está manejando esos eventos, si los datos necesarios para ser traídos del servidor, o si otros eventos necesitan ser disparadas. Adicionalmente, Mate provee un mecanismo de inyección de dependencias para facilitar que diferentes partes de nuestra aplicación obtengan la data de los objetos que necesiten [mate].
Esta animación muestra un poco, cómo funciona

En español, esto es lo que dice la animación.
Modelo, Vista y Controlador esos son los tres compontentes del patrón de diseño MVC.
  1. La vista dispara un evento (puede ser uno creado por nosotros, o uno de flex)
  2. Los datos son encapsulados en un objeto del negocio dentro del Custom Event
  3. El evento es capturado por el controlador, que en el caso de Mate es el EventMap o Mapa de Eventos
  4. El mapa de eventos hace la llamada al servidor, según la animación con un RemoteObjectInvoker
  5. El servidor responde
  6. El EventMap captura la respuesta
  7. La guarda en el Modelo
  8. El EventMap a través de los Injectors, inyecta la data a la vista
  9. Y la vista se actualiza inmediatamente gracias a la magia de los Bindings
O lo mismo, que la imágen.
Saludos señores, feliz fin de semana, luego sigo explicando un poco más.

6 de abril de 2010

Flex Modular Development and Mate

Echen un vistazo a esta presentación: Es sobre MATE un framework de desarrollo para Flex, pronto empezaré a publicar un poco sobre lo que es MATE y como funciona, saludos.