A book "Design Patterns: Elements of Reusable Object-Oriented Software" written by four authors in which 23 design pattern explained in three categories 1.) Creational Design Patterns 2.) Structural Design Patterns and 3.) Behavioral Design Patterns. Four authors of this book known as "Gang Of Four".