Паттерни або шаблони проектування програмного забезпечення

Паттерни або шаблони проектування програмного забезпечення - це своєрідні групи вказівок спрямовані на полегшення вирішення задач об'єктно-орієнтованого програмування (в нашому випадку). Шаблон не можна вважати закінченим зразком, що не дозволяє проводити його трансляцію в код програми. Такі шаблони зазвичай служать прикладами для рішення певної задачі та ілюструють відношення між класами і об'єктами, проте не вказують як реалізувати саме відношення.

Систематизації та детальному опису перших 23-ох шаблонів можна завдячувати книзі Design Patterns: Elements of Reusable Object-Oriented Software авторства Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides ("Банди чотирьох"). Інша група шаблонів описана в книзі Applying UML and Patterns — Third Edition Лармана Крейга (Larman, Craig).

Отже, основна цінність у використанні шаблонів полягає у тому, що формується конкретний алгоритм для вирішення задач певного класу. А далі відбувається тільки його використання.