Abstract
We present an in-depth look at the ability of existing models and languages to support different forms of reuse and evolution. The intended tutorial participants are experienced object-oriented programmers and analysts who want to improve the adaptability of their models and programs. The design patterns described by Gamma, Helm, Johnson, and Vlissides in 1994 ensure that a certain system aspect can vary over time. In this tutorial we help the participant recognize an underlying principle common to many existing design patterns, namely the ability to allow the implementation of an object or class to vary dynamically. We present a key concept in supporting dynamic evolution: the context class. At the design level we present a simple extension to the Unified Modeling Language for describing context classes. At the implementation level we demonstrate how to develop Java programs using context objects. We demonstrate how context objects can be used to easily model and program patterns such as the Adapter, Bridge, Chain of Responsibility, Decorator, Iterator, Observer, State, Strategy, and Visitor.
Cite
CITATION STYLE
Seiter, L. M., Lieberherr, K. J., & Orleans, D. (1997). Simplifying the evolution of Java programs. In Proceedings - International Conference on Software Engineering (pp. 655–656). IEEE.
Register to see more suggestions
Mendeley helps you to discover research relevant for your work.