Contents
What Is a Pattern?
A Few References
A common definition is ‘a piece of literature that describes design problem and a solution for the problem in a particular context‘ (J. Coplien)
Each pattern is a three part rule, which expresses a relationship between a context, a problem, and a solution... ...each pattern is a relationship between a context, a certain system of forces which occurs repeatedly in that context, and a certain (spatial) configuration that allows these forces to resolve themselves. (C. Alexander)
What Makes Up a Pattern?
Context refers to a recurring set of situations in which the pattern applies. Problem refers to a set of forces - goals and constraints - that occur in this context. Solution refers to a canonical design form or design rule that someone can apply to resolve these forces.
What is Not a Pattern?
- A cake recipe (any specific solution)
- A general guideline (“use more comments”)
General values (“parenthood & fruit based desert”)
- Just a description
How We View Patterns
We view patterns as a literary form of representing domain expertise so expert knowledge and insights can be shared with other people who are active in the same domain.
Why Do We Need Patterns?
- Patterns capture obscure but important practice
Patterns capture hidden structure & reasoning
- Patterns establish a common language for practitioners
Patterns helps share accumulated insights, knowledge & experience
Patterns are fun
What are Pattern Languages?
Patterns rarely show up all alone, they always seem to evoke other patterns in the same domain - patterns that complement the offered solution, patterns that offer alternate solutions to similar problems, patterns at lower or higher levels.
A pattern language is a collection of patterns that build oneach other to generate a system. A pattern in isolation solves an isolated design problem; a pattern language builds a system. It is through pattern languages that patterns achieve their fullest power. (J. Coplien)
Pattern Languages We Wrote
Design for Maintainability, Maintainability by Design - D4M-MbyD.pdf
Log Data Management Patterns - Logging.pdf
Performance Patterns - PerformancePatterns.pdf
Patterns for Interface Design - Interfaces-SE_patt.pdf
Patterns of Human Interaction in Software Maintainability - Maintainability-Proc.pdf
Group Leadership Patterns - PoGL-Rev5.pdf mPGL-Rev21B.pdf
- Patterns for Online Communities (work in progress for EuroPLoP 2007)
Contact Information
Contacting us: mailto:info@three-en.com
Comment on This Page
Click here to comment .
