Java Design Patterns - Sarcar, Vaskaran (Apress, 2016)