Design Patterns : Elements Of Reusable Object-Oriented Software - Gamma (Erich); Helm (Richard) & Others (2000)
20