Object-oriented design & patterns - Horstmann, Cay S. 1959- (Wiley, 2006)