Though we most often talk about DesignPatterns, patterns have many uses. This page is a shot at building a taxonomy, not of patterns, but of the domains patterns serve.
Early in the days of patterns we talked about two main uses of patterns: for teaching and learning, and for reference. That splits patterns into two major categories.
This page probably needs some major reorganization; anyone who has the energy shouldn't feel bad about throwing this away and starting over. I just wanted to get things rolling.
This page probably needs some major reorganization; anyone who has the energy shouldn't feel bad about throwing this away and starting over. I just wanted to get things rolling.
- PatternsForTeaching
- Expositional patterns (patterns of teaching)
- Read the project's book of relevant domain patterns before starting work on the project
- Patterns as a means to understanding paradigms (e.g. the GangOfFour patterns)
- PatternsForReference
- Documentation on how to extend frameworks
- Documentation for specific problems
- Process problems
- "Design" problems
- Idioms
- To provide analogies from other domains
- To document code ("this code is the Z component of the Y pattern")