Framework optimizations capitalize on object dependencies, while framework flexibility and composability demand object independence.
This paper shows how to balance these conflicting needs using new design techniques. These techniques embody the observation
that common optimizations can be realized by reifying and tuning object interactions. Their application is illustrated for
two complex frameworks: a virtual memory framework and a framework for distributed objects. A catalog of patterns that covers
common optimizations is also presented.
Ashish Singhai is supported in part by the grant NSF-CDA-94-01124.