11
Iterador de Vectores en Flex
Sin Comentarios · Posteado por: Martin en: Air, AS3, Ejemplos, Flex
Una de las más esperadas adiciones en el Flex 3.4 SDK es la inclusión de la clase Vector.class. Los vectores son en particular especialmente esperados por que proporcionan la seguridad de tipos en tiempo de compilación, que de otra manera no estaría disponible cuando implementábamos cualquier solución personalizada como esta typed collection.
En esencia, los vectores son solo Arrays tipados. Y aunque no son tan robustos o de gran alcance, como lo son sus parientes de C # o Java, en Flex cumplen con su cometido.
Cuando se sabe en tiempo de diseño que se va a trabajar con una colección de un solo tipo, los vectores pueden utilizase de igual manera para proveer seguridad de tipos y también para permitir una mejora en el rendimiento comparado con otras colección de Flex.
Recientemente quise convertir a un buen número de implementaciones de Arrays con tipo en vectores, sin embargo, los Arrays se estaban atravesados con el iterador. Con el fin de reducir la cantidad de código a refactoriar en el cliente, simplemente puse en marcha un vector con un Iterator específico.
Si usted está familiarizado con el Patrón Iterator en general, y la interfaz Iterator en particular, entonces su uso le resultará muy sencillo. Usted puede utilizar el Iterator para realizar iteraciones estándar en un Vector.
A continuación se muestra un ejemplo de uso típico:
var abc:Vector.<String> = new Vector.<String>(3, true);
abc[0] = "a";
abc[1] = "b";
abc[2] = "c";
var it:Iterator = new VectorIterator( alpha );
while ( it.hasNext() )
{
trace( it.next() );
// a, b, c
}
El uso de un iterador con un vector asegura que sólo de pueda realizar una búsqueda lineal, lo que resulta útil con vectores que son Arrays densos. Sin embargo, una consideración debe hacerse cuando se utiliza un Iterator con un vector, la seguridad de tipos se pierde cuando accedemos al vector a través de iterator.next ().
Por eso yo sugiero solamente utilizar Iterator con vectores para apoyar la compatibilidad hacia atrás solamente.
Los archivos completos de este ejemplo se encuentra para descargar aquí: VectorIterator, VectorIteratorTest
Fuente original: Eric Feminella
Adobe Air AS3 Codigo Ejemplo Flex Iterator Patrones de diseño Vector



