# Contents

# Meta

—

* still in an early stage

—

* still in an early stage

glossary:pattern

A **pattern** is an often-used, proven solution to a recurring problem in a certain context.

- See the list of documented patterns in this wiki.

There are plenty of definitions for the notion “pattern”. Here are some of the most notable ones:

Each pattern describes a problem which occurs over and over again in our environment, and then describes the core of the solution to that problem, in such a way that you can use this solution a million times over, without ever doing it the same way twice.^{1)}

Each pattern is a three-part rule, which expresses a relation between a certain context, a problem, and a solution.^{2)}

A design pattern systematically names, motivates, and explains a general design that addresses a recurring design problem in object-oriented systems. It describes the problem, the solution, when to apply the solution, and its consequences. It also gives implementation hints and examples. The solution is a general arrangement of objects and classes that solve the problem. The solution is customized and implemented to solve the problem in a particular context.^{3)}

A pattern […] describes a particular recurring design problem that arises in specific design contexts, and presents a well-proven generic scheme for its solution. The solution scheme is specified by describing its constituent components, their responsibilities and relationships, and the ways in which they collaborate.^{4)}

Note that the difference between a pattern description and the pattern itself is often neglected.

Christopher Alexander: A Pattern Language

glossary/pattern.txt · Last modified: 2020-10-12 14:12 by 159.69.186.191

Except where otherwise noted, content on this wiki is licensed under the following license: CC Attribution 4.0 International