Patterns in java - Grand, Mark (Wiley, 1999)