Design Patterns: Elements of Reusable Object-Oriented Software - Erich Gamma (Delhi, 1995)
Keywords: Design Patterns