Object Oriented Design and Patterns - Horstmann,Cay (john Wiley)