Building object oriented systems an introduction from concepts to implementation in C++ - Callan, R. E. (Computational Mechanics Publ., 1994)