Gamma, E. Et.all… Design patterns: Elements of reusable object oriented software - Harlow Addison Wesley 1998 - ix, 395p. ISBN: 978-0-201-45563-2