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