This document provides an overview and introduction to design patterns. It discusses creational, structural, and behavioral patterns. For each category it briefly introduces and describes the intent and use of some common patterns, including Factory Method, Singleton, Decorator, Facade, Command, Iterator, and Observer. It also includes diagrams to illustrate the relationships between objects in sample implementations.