Java design patterns a tutorial - Cooper, James W (Addison Wesley, Reading, 2000)