Data Structures and Algorithms with Object-Oriented Desig Patterns in C++ - Preiss, Bruno R (John Wiley, 1999)