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