Паттерны (шаблоны) проектирование в PHP. Введение 07.08.2010

Паттерн проектирования (design pattern) — это общее типовое решение некоторой проблемы, многократно повторяемое в процессе проектирования архитектуры программного продукта. Они показывают отношения и взаимодействия между классами, позволяют сделать систему гибкой и легко изменяемой. За счет их правильного использования повышается коэффициент использования готовых решений.
Я буду постепенно описывать каждый паттерн и добавлять его в список на этой странице.
Я предполагаю, что читатель осведомлен о понятиях ООП и знает в чем разница между интерфейсом и абстрактным классом. Знает что такое полиморфизм, инкапсуляция и наследование. Если вы не уверены в своих силах, рекомендую к прочтению статью из википедии .
В процессе описания я буду использовать UML, для графического изображением классов и их отношений. На этот счет не стоит беспокоиться, даже если вы не сталкивались с ним раньше, его можно интуитивно понять.
Понятия
- Здесь и далее в статьях я буду употреблять «паттерн» (pattern) вместо русского аналога «шаблон»
- Инстанация (instanate) — процесс создания объекта определенного класса.
- Код клиента — это код программиста, который будет работать с нашей частью программы по принципу черного ящика, т.е. только через публичный интерфейс
Список
-
Порождающие
-
Структурные
-
Паттерны поведения
- Chain of Responsibility (Цепочка обязанностей)
- Command (Команда)
- Interpreter (Интерпретатор)
- Iterator (Итератор)
- Mediator (Посредник)
- Memento (Хранитель)
- Observer (Наблюдатель)
- State (Состояние)
- Strategy (Стратегия)
- Chain of Responsibility (Цепочка обязанностей)
- Template Method (Шаблонный метод)
- Visitor (Посетитель)
Похожие статьи
- Паттерн проектирования Прокси (Proxy) на PHP
- Паттерн проектирования Приспособленец (Flyweight) на PHP
- Паттерн проектирования Фасад (Facade) на PHP
- Паттерн проектирования Декоратор (Decorator) на PHP
- Паттерн проектирования Компоновщик (Composite) на PHP

Спасибо, пригодиться!
Очень полезная штука, все что нужно и в одном месте. Особенно пригодится для освежения памяти перед собеседованием :)