Design Patterns - Erich Gamma; John VlissidesRalph JohnsonRichard Helm (New Delhi Pearson Education Asia Pte. Ltd., 2004)