This document discusses pattern-based design and design patterns. It defines a design pattern as a three-part rule expressing the relationship between a certain context, problem, and solution. Effective design patterns solve problems, are proven concepts, and describe relationships. Recognizing patterns, searching for how others have addressed them, and applying patterns are key steps in pattern-based design. Patterns can be applied at different levels including data, architecture, components, and user interfaces. Pattern-based design saves time and money as patterns are proven methods that can be reused.