Joan Garnet :: Arquitectura y desarrollo RIA
ListCollectionView: creando vistas de colecciones
Enero 25th, 2011 - [Enlace local]
A menudo me he encontrado con que hay cierta confusión a la hora de trabajar con casos de uso medianamente complejos que utilizan colecciones en Flex.
Una colección en el ámbito de Flex es una instancia de una clase que enriquece y homogeniza el acceso a los tipos básicos que proporciona ActionScript para tratar con matrices de datos, es decir: Array, XMLList y Vector.

Cualquier colección en Flex debe extender la clase mx.collections.ListCollectionView ya que ésta proporciona implementaciones por defecto de las interfaces mx.collections.ICollectionView y mx.collections.IList (siempre se pueden reimplementar si fuera necesario), las cuales ofrecen homogenización; permitiendo manipular un Array, XMLList o Vector a través de los mismos métodos; y riqueza; permitiendo realizar operaciones de ordenado, filtrado, creación de múltiples vistas a partir de un mismo origen de datos, iteración, búsqueda, bookmarking, etc...
Las colecciones que actualmente existen en Flex son: ArrayCollection y XMLListCollection, y no dudo que pronto habrá una implementación oficial de VectorCollection, eso o Generics.
El mecanismo base que utiliza ListCollectionView internamente para proporcionar todo este rango de operaciones, que a la vez es el concepto que detecto no acaba de cuajar en un gran número de desarrolladores, es el de disponer de un origen de datos y múltiples representaciones, o dicho de otra forma:
Una colección, múltiples vistas (de la colección)
De aquí el nombre List Collection View (Vista de una colección de lista o algo así...)
La clave es sentirse cómodo con el concepto y no dudar en por ejemplo disponer de un mismo ArrayCollection y manipularlo mediante filtros, ordenaciones, etc... en diferentes contextos teniendo la certeza que las manipulaciones no se solaparan entre las distintas vistas de la colección.
Un ejemplo:

Disponemos de una colección con grupos de música y sus álbumes. Queremos disponer de dos vistas de la colección para popular dos mx.control.DataGrid y aplicarles distintos filtros por texto.
El resultado debe ser que cada filtro debe afectar solo a una de las vistas de la colección.
Finalmente, para demostrar que la colección es en realidad la misma, disponemos de un botón para eliminar un elemento de cualqueira de las dos vistas, y al hacerlo veremos que la eliminación se realiza en ambas vistas, ya que la eliminación es una operación que afecta a la colección madre y por lo tanto a todas sus vistas.
ver ejemplo mejorado en otro post
Descarga ejemplo
En el zip hay un proyecto Flex4 para Flash Builder.