Design patterns for object-oriented software development - Pree, Wolfgang (Addison-Wesley publishing company, Wokingham, 1995)