Abstract:
|
Las bibliotecas de colecciones de datos juegan un papel importante en el desarrollo de software basado en componentes. Las colecciones contenidas en las bibliotecas de este tipo (JCF, STL, LEDA etc.) implementan un modelo matemático que define uno o más métodos de acceso a los elementos (acceso por clave, acceso al último elemento almacenado, etc.). Además, la mayoría de estas bibliotecas permiten un tipo de acceso diferente, más eficiente, a los elementos, que puede ser acceso directo (e.g., mediante la posición obtenida en el momento de insertar el elemento) o acceso secuencial (normalmente usando el concepto de iterador). Este tipo de acceso eficiente presenta ciertos riesgos respecto a criterios tales como precisión y adecuación funcional, que no son resueltos adecuadamente en las bibliotecas actuales. En este artículo, se presentan sendos patrones de diseño que proporcionan una solución genérica al problema, y su implementación mediante aspectos. Los patrones introducen nuevos tipos de datos y nuevas operaciones que dotan a las bibliotecas de una uniformidad total y un alto grado de extensibilidad. El uso de aspectos permite disociar estos tipos de acceso y la funcionalidad misma de la colección, concentrando en los aspectos la gestión de la persistencia de las posiciones, la modificación controlada durante las iteraciones, etc. La propuesta se implementa mediante AspectJ. |