Паттерн (от англ. Pattern) — образец, шаблон. Представьте, что вы хотите сделать новый автомобиль, но вы никогда этим не занимались. Сколько колес и почему вы спроектируете для него?

Сейчас вы уже скорее всего, скажете - 4, однако почему не 3, 5, 10, 20? Потому что практикой использования уже было выяснено, что обычные автомобили лучше всего делать на 4-х колесах — это шаблон проектирования сформированный временем.

Именно такому же подходу и служат шаблоны в ООП, и вы не столкнетесь с ними в разработке до тех пор, пока вам не потребуется “сделать автомобиль”. Однако иногда случается так, что вы создаете “трицикл”, и только потом, набив несколько шишек с его устойчивостью и неудачным вписыванием в колею на дороге, узнаете, что существует шаблон “автомобиль”, который значительно упростил бы вам жизнь, знай вы про него ранее.

Примечание: Шаблоны не привязаны к какому-либо конкретному языку программирования. Это просто подход к проектированию чего-либо. Если смотреть глубже, то многие шаблоны ООП были созданы на основе реальных жизненных ситуаций в проектировании вполне себе осязаемых объектов нашего мира.

Ресурсы, которые использовались:

  1. Книги:
    • Зандстра М. - PHP. Объекты, шаблоны и методики программирования, 4-е издание;
    • Фримен Э., Фримен Э. - Паттерны проектирования;
    • Гамма Э., Хелм Р., Джонсон Р., Влиссидес Дж. - Приемы объектно-ориентированного проектирования. Паттерны проектирования;
  2. Статьи и ресурсы: