Design patterns door Craig Larman, Erich Gamma & Ralph Johnson