Object-Oriented Design and Patterns - Cay Horstmann (John Wiley & Sons)