Design patterns elements of reusable object-oriented software
Erich Gamma; Richard Helm; Ralph Johnson; John Vlissides
Reading, Mass. Addison-Wesley c1995
Available at
EPELM - Esc. Politécnica-Bib Eng Elet., Mec. e Naval
(004.045 D46 e.3 ) and other locations(GetIt)