Design patterns for object-oriented software development - Pree, Wolfgang (Addison-Wesley Publishing Company, England, 2000)