Elements of Reusable Object-Oriented Software — a catalog of reusable solutions to recurring problems in object-oriented software design, covering creational, structural, and behavioral patterns.
I've repeatedly encountered references to GoF design patterns in codebases and technical discussions, and I want to go to the primary source rather than relying on second-hand summaries.
I want to develop a stronger vocabulary for describing software solutions. By reading the original catalog, I expect to: