Patterns exist in nature (Dunes, Grand Canyon), art (Modern, Impressionism), science and mathematics (Fractals, Crystals) and Computer Science (Design Patterns).
 Computer Science Patterns (Design Patterns)
All well-structured systems are full of patterns. A pattern provides a common solution to a common problem in a given context. A mechanism is a design pattern that applies to a society of classes; a framework is typically an architectural pattern that provides an extensible template for applications within a domain.
Patterns are used to specify mechanisms and frameworks that shape the architecture of your system.
||Chain of responsibility|
|| Action at a distance|
Double checked locking
Read write lock
| Event handling
 See also
- AntiPatters, by William J. Brown, Raphael C. Malveau, Hays W. McCormick III, Thomas J. Mowbray. An AntiPattern is a literary form that describes a commonly occurring solution to a problem that generates decidedly negative consequences.
- Design Patterns, Elements of Reusable Object Oriented Software by Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides.
- Head First Design Patterns by by Elisabeth Freeman, Eric Freeman, Bert Bates, Kathy Sierra.
- Java Design Patterns - A Tutorial. by James W. Cooper.
- Refactoring: Improving the Design of Existing Code by Martin Fowler, Kent Beck, John Brant, William Opdyke, Don Roberts.