Gamma, E. [et al.] Design patterns: Elements of reusuabel object-oriented software - Massachusetts Addison Wesley 1999 - xv, 395p. - Addison Wesley professional computing series . ISBN: 0-201-45563-3