Design pattern

From Fox Labs Wiki

A design pattern is a reusable solution to a problem found in software design. Patterns are designed to leverage an existing concept instead re-inventing it, allowing developers to be more productive and increase the quality of work.

A design pattern isn't a software artifact, but instead is implemented by the developer following the description of the pattern as outlined. A pattern can be made more easily reusable through the process of creating abstractions of the pattern through which inheritance or polymorphism implements the code where the pattern is put into practice.

Types

Creational

Structural

Behavioural

Concurrency

See also