Design Patterns: Elements of Reusable Object-Oriented Software
by
Erich Gamma
· 1994
GoodReads