Design patterns CD - Gamma, E; Helm, R; Johnson, R; Vlissides, J (Addison Wesley, 1998)