Title: Challenges with Object-Oriented Frameworks and a Solution Using the APPC Pattern ======================================================== Prof. Dr. Karl Lieberherr College of Computer Science Northeastern University Boston, Massachusetts www.ccs.neu.edu/home/lieber January 1999 Abstract: Object-oriented frameworks are widely used as encapsulations of behavior for various application domains. When multiple frameworks are used and composed, several challenges arise as described by Riehle and Gross (OOPSLA '98): complexity of classes and object collaborations, code tangling and proper separation of concerns, and achieving reusable models. We present an architectural pattern, called the APPC pattern (Adaptive Plug-and-Play Component pattern), to help address those challenges. The APPC pattern builds on the observation that the general unit of reuse is not a single class, but a slice of behavior affecting a set of collaborating classes. The APPC pattern uses an "ideal" UML class diagram to express class collaborations using any object-oriented programming style but preferably using the traversal/visitor style. The mapping of the "ideal" UML class diagram into a concrete UML class diagram is achieved using any object-oriented programming style but preferably using the traversal/visitor style. The talk will outline how the APPC pattern can be implemented in Java using a traversal package and Java Beans. The APPC pattern not only facilitates the construction of complex software, specifically banking applications, by making the collaborations explicit, but it does so in a manner that supports the evolutionary nature of both structure and behavior.