Erich Gamma, richard Heln, Ralph Johnoon, Johm visside

Design Patterns Elements of Reusable Object Oriented Software - India, Addison-Wesley, 1999 - 395