Design patterns : elements of reusable object -oriented software - Gamma, Erich (Massachusetts, 1995)
Keywords: Object Oriented Programming