Object oriented (OO) classes are generally not reusable because they are not meaningful in isolation; most classes only have meaning as members of cooperating suites of classes (e.g., design patterns). These suites usually arise in designs, but rarely exist as encapsulated entities in OO implementations. We present a method for directly mapping cooperating suites of classes into encapsulated C++ implementations. Our method is an improvement over the VanHilst and Notkin approach (M. VanHilst and D. Notkin, 1996) for implementing collaboration based designs and constitutes a step towards more reusable (object oriented) components.
['Yannis Smaragdakis', 'Don S. Batory']
Implementing reusable object-oriented components