DESIGN PATTERN ELEMENTS OF REUSABLE OBJECT ORIENTED SOFTWARE - GAMMA,ERICH (NEW DELHI PEARSON, 2022)