Encapsulación del patrón Observer utilizando eventos explícitos en ECaesarJ
DOI:
https://doi.org/10.30973/progmat/2014.6.1/5Palabras clave:
patrones de diseño, Observer, ECaesarJ, máquinas de estadoResumen
El desarrollo de componentes de software proporciona un alto nivel de reutilización además de que ayuda ampliamente en el mantenimiento de sistemas de software. Encapsulando en forma de componente de software el patrón de diseño Observer, se aumenta el grado de reutilización debido a que la reutilización de una solución del nivel de diseño pasa al nivel de implementación en forma directa. Las piezas ya construidas se utilizan en sistemas de software sin preocuparse de su construcción, el enfoque es únicamente en su utilización. Debido a que el patrón de diseño Observer está asociado al patrón arquitectónico MVC y dada su capacidad modular de notificación ante los eventos que un sistema genera, su encapsulación como componente tiene un fuerte impacto en la arquitectura del software. Los resultados de dicha implementación en el lenguaje ECaesarJ muestran no sólo una mejora significativa respecto a otras implementaciones, también mejora la administración de eventos gracias al concepto de máquinas de estado.
Citas
Gamma, E., Helm, R., Johnson, R., Vlissides, J. (1995). Design patterns: Elements of reusable object-oriented software. Addison Wesley.
Núñez, A., Noyé, J., Gasiunas, V. (2009). Declarative definition of contexts with polymorphic events. En International Workshop on Context-Oriented Programming (COP ‘09). https://doi.org/10.1145/1562112.1562114
Núñez, A., Gasiunas, V. (2012). ECaesarJ User’s Guide http://ample.holos.pt/gest_cnt_upload/editor/File/public/ECaesarJ-manual.pdf
Pohl, K., Günter, B., Linden, F. (1998). Software product line engineering foundations, principles, and techniques. Springer.
Arnout, K. (2004). From patterns to components. Tesis de doctorado. Swiss Federal Institute of Technology.
Garcia, G. A. (2012). Perfectjpattern. http://perfectjpattern.sourceforge.net/
Hannemann, J., Kiczales, G. (2002). Design-pattern implementation in java and aspectj. En: Proceedings of the 17th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications. https://doi.org/10.1145/582419.582436
Sousa, E., Monteiro, M. P. (2008). Implementing design patterns in CaesarJ: an exploratory study. En: Proceedings of the 2008 AOSD workshop on Software engineering properties of languages and aspect technologies. https://doi.org/10.1145/1408647.1408653
Oliveira, B. C., Wang, M., Gibbons, J. (2008). The visitor pattern as a reusable, generic, type-safe component. En Proceedings of the 23rd ACM SIGPLAN conference on Object-oriented programming systems languages and applications (OOPSLA). https://doi.org/10.1145/1449764.1449799
Metsker, S. J. (2002). Design pattern Java Workbook. Addison Wesley.
Spersky, C., Dominik, G., Stephan, M. (2002). Component software, 2a ed. AddisonWesley.
Bass, L., Clements, P., Kazman, R. (2003). Software architecture in practice. Addison Wesley
Descargas
Publicado
Cómo citar
Número
Sección
Licencia
Derechos de autor 2014 Programación Matemática y Software

Esta obra está bajo una licencia internacional Creative Commons Atribución 4.0.
Usted es libre de:
![]() |
Compartir — compartir y redistribuir el material publicado en cualquier medio o formato. |
![]() |
Adaptar — combinar, transformar y construir sobre el material para cualquier propósito, incluso comercialmente. |
Bajo las siguientes condiciones:
![]() |
Atribución — Debe otorgar el crédito correspondiente, proporcionar un enlace a la licencia e indicar si se realizaron cambios. Puede hacerlo de cualquier manera razonable, pero de ninguna manera que sugiera que el licenciador lo respalda a usted o a su uso. |
Sin restricciones adicionales: no puede aplicar términos legales o medidas tecnológicas que restrinjan legalmente a otros a hacer cualquier cosa que permita la licencia. |