Design patterns can typically be grouped into categories.
Behavioral are sometimes referred to as
Gamma Categorization which was named after Erich Gamma, one of the Gang of Four Authors. I found the Udemy Course by Dmitri Nesteruk hugely helpful in understanding these and other patterns.
*posts to be fleshed out with examples
Deal with the creation (construction) of objects either explicit (constructor) or implicit (Dependency Injection, reflection ect). Some are wholesale (single statement) and others are piecewise (step by step)
Concerned with the structure (IE: class members). Many are wrappers that mimic the underlying class interface. They generally stress the importance of good API design.
All different and don’t really follow a theme but there is some overlap. Most are generally unique in their approach solving a particular problem. It could however be said that
Behavioral patterns define manners of communication between classes and objects.
- Chain of Responsibility *
- Interpreter *
- Iterator *
- Mediator * | Command and Query Responsibility Segregation (CQRS)
- Memento *
- Observer *
- State *
- Strategy *
- Template Method *
- Visitor *