Различия
Показаны различия между двумя версиями страницы.
Предыдущая версия справа и слева Предыдущая версия Следующая версия | Предыдущая версия | ||
php:patterns [2022/05/10 22:26] – mirocow | php:patterns [2022/05/11 13:18] (текущий) – mirocow | ||
---|---|---|---|
Строка 1: | Строка 1: | ||
- | ====== Паттерны проектирования ====== | + | {{tag> |
+ | |||
+ | ====== | ||
+ | |||
+ | ==== Шаблоны проектирования ==== | ||
+ | |||
+ | ==== Цепочка обязанностей / Chain of Responsibility ==== | ||
+ | |||
+ | Позволяет передавать запросы последовательно по цепочке обработчиков. Каждый последующий обработчик решает, | ||
+ | |||
+ | ==== Команда Команда / Command ==== | ||
+ | |||
+ | Превращает запросы в объекты, | ||
+ | |||
+ | ==== Итератор / Iterator ==== | ||
+ | |||
+ | Даёт возможность последовательно обходить элементы составных объектов, | ||
+ | |||
+ | ==== Посредник / Mediator | ||
+ | |||
+ | Позволяет уменьшить связанность множества классов между собой, благодаря перемещению этих связей в один класс-посредник. | ||
+ | |||
+ | ==== Снимок / Memento ==== | ||
+ | |||
+ | Позволяет сохранять и восстанавливать прошлые состояния объектов, | ||
+ | |||
+ | ==== Наблюдатель / Observer ==== | ||
+ | |||
+ | Создаёт механизм подписки, | ||
+ | |||
+ | ==== Состояние / State ==== | ||
+ | |||
+ | Позволяет объектам менять поведение в зависимости от своего состояния. Извне создаётся впечатление, | ||
+ | |||
+ | ==== Стратегия / Strategy ==== | ||
+ | |||
+ | Определяет семейство схожих алгоритмов и помещает каждый из них в собственный класс, после чего алгоритмы можно взаимозаменять прямо во время исполнения программы. | ||
+ | |||
+ | ==== Шаблонный метод / Template Method ==== | ||
+ | |||
+ | Определяет скелет алгоритма, | ||
+ | |||
+ | ==== Посетитель / Visitor ==== | ||
+ | |||
+ | Позволяет добавлять в программу новые операции, | ||
===== Ссылки ===== | ===== Ссылки ===== |