Java Design Patterns - Vaskaran Sarcar (Springer, 2016)