W. Pree, Design Patterns for Object-Oriented Software Development, Addison-Wesley: Reading, Massachusetts, 1995.