Design patterns for object oriented software deveopment. - Pree, Wolfgang (Wokingham, 1995)