a named general reusable solution to common design problems
- a well-described, reusable solution to a common software problem.  - a template/skeleton to solve a problem in different scenarios.
This example is paraphrase.