Design PatternsElements of Reusable Object-Oriented Softwareby Erich Gamma, Richard Helm, & John VlissidesPublished: 1995Go back