Шаблоны проектирования (паттерн, pattern) — это эффективные способы решения характерных задач
проектирования, в частности проектирования
компьютерных программ. Паттерн не является законченным образцом проекта, который может быть прямо преобразован в
код, скорее это описание или образец для того, как решить задачу, таким образом, чтобы это можно было использовать в различных ситуациях.
Объектно-ориентированные шаблоны зачастую показывают
отношения и взаимодействия между
классами или
объектами, без определения того, какие конечные классы или объекты приложения будут использоваться.
Алгоритмы не рассматриваются как шаблоны, так как они решают задачи
вычисления, а не
проектирования.