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.