Java design patterns : a tour of 23 gang of four design patterns in Java / - Sarcar, Vaskaran,