jump to navigation

API Reflexion en Flex (segunda parte) marzo 11, 2007

Posted by ablesa in flex.
trackback

En el primer post sobre el API de reflexión en Flex 2 vimos un ejemplo muy sencillo en el que se llevaba a cabo la creación de un objeto a partir del nombre cualificado de una clase , y realizábamos la invocación de un método de este objeto por la cadena pasada por un campo de texto.

En ese ejemplo ejecutábamos un método sencillo, sin preocuparnos del paso de parámetros al mismo , ni de obtener la respuesta de esta ejecución.

En este segundo programa de ejemplo, añadimos un poquito mas de complejidad y realidad al ejemplo, pudiendo pasar parámetros al método que invocamos y obteniendo la respuesta del mismo para tratar el resultado.

El programa simula una calculadora super sencilla, que lanzamos en una ventana aparte, realizamos la operación por Reflexión y introducimos el resultado en una clase ModelLocator , en la que tenemos un atributo “bindado” con un control de la vista.

El código completo del ejemplo lo podéis descargar aquí. Para ejecutarlo simplemente tenéis que descomprimirlo e importarlo como proyecto en Flex Builder o en Eclipse WTP con el plugin de Flex, y directamente ejecutar como aplicación Flex.

En sucesivos post veremos como pueden trabajar juntos este API con llamadas a FDS e introduciremos la creación de un framework que haciendo uso del API de reflexión, nos ayude a organizar el código de nuestras aplicaciones Flex.

Comentarios»

1. Carlos Rovira - marzo 11, 2007

Angel,

Llevo varias semanas pensando en usar este tipo de funcionalidad para reducir el código necesario (el código repetitivo) en un proyecto Flex. Ahora bien, lo que no he mirado todavía es si el rendimiento de la aplicación Flex se puede ver perjudicado seriamente o no al usar reflexión. ¿Has podido ver algo al respecto?.

La verdad es q estaría genial que este tipo de funcionalidad se pudiese usar de forma intensiva en los proyectos ¿no crees?.

2. ablesa - marzo 12, 2007

En cuanto al rendimiento, por la pruebas que he hecho este no se ve perjudicado en demasía por el uso de la reflexión. La utilización de la reflexión para invocar las operaciones corrientes en una aplicación RIA que de otra forma se harían de manera tradicional, no suelen ser muy consumistas. La idea en la que me parece interesante utilizar la reflexión es para lanzar las operaciones que se
lanzan desde los controles visuales, en post de conseguir un desacoplamiento entre la vista y el modelo, además de algunas ventajas más.
En general para hacernos una idea , de la misma manera que en Cairngorm lleva a cabo sus operaciones a través del patrón comando, nosotros realizaríamos una invocación por reflexión de uno de nuestros métodos cuando queremos llevar a cabo uno de los casos de uso de nuestra aplicación.
Por otra parte una de las operaciones mas costosas en todos los lenguajes en cuanto a la reflexión, suele ser la búsqueda de las clases por nombre y la instanciación de los objetos de estas para poder realizar las invocaciones de los metodos, por lo que debemos crear un “pool” de las objetos para futuras invocaciones, y no obtener la clase e instanciar el objeto cada vez que deseamos llevar a cabo una invocación a un método.
En cuanto a la utilización de esta funcionalidad en los proyectos espero que con guasax (publicado dentro de muy poquitos días), empecemos a conseguir una posible solución a esta cuestión🙂.

3. API Reflexion en Flex y RemoteObject « think different, think flex - marzo 13, 2007

[…] marzo 13, 2007 Posted by ablesa in flex. trackback En este post ampliamos el ejemplo del post anterior de la sencilla calculadora que ejecuta sus operación por reflexión, sumando la posibilidad de […]


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

A %d blogueros les gusta esto: