Design Patterns: Elements Of Reusable Object-Oriented Ssoftware - Gamma (Erich) ;Others (2002)
15