Design patterns for object-oriented software development - Pree, Wolfgang (Addison-Wesley Publ. Co., 1994)