Design Patterns

While there's literally tons of books, web sites and courses in the area of design patterns, I wanted to consolidate some of the most common patterns.

While my descriptions for each won't pass a scholarly review for proper terminology, this is how I keep them organized in my head.

If you want to go full-academic and read books on design patterns and refactoring code, check out Design Patterns: Elements of Reusable Object-Oriented Software and Refactoring: Improving the Design of Existing Code.

In Design Patterns: Elements of Reusable Object-Oriented Software, design patterns are broken down into three categories:

  • Creational Patterns: deal with the process of object creation
  • Structural Patterns: deal with the composition of the object
  • Behavioral Patterns: deal with object interaction and delegate responsibilities

I'll be exploring these more in-depth in upcoming posts.