In software engineering, a design pattern describes a relatively small, well-defined aspect (i.e. functionality) of a computer program in terms of how to write the code. Using a pattern is intended to leverage an existing concept rather than re-inventing it. This can decrease the time to develop software and increase the quality of the resulting program.

A pattern is not tied to a specific language or piece of code, but can (or has to) be implemented differently, sometimes even for the same language.

See Also

Sources