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") ---- [WhyPatternsAreDifferent]