Reading list: ROLEXY 
Design Patterns