Design patterns explained : A new perspective on object-oriented design. - Shalloway, Alan (Addison-Wesley, 2005)