Различия
Показаны различия между двумя версиями страницы.
| Предыдущая версия справа и слева Предыдущая версия Следующая версия | Предыдущая версия | ||
| 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 ==== | ||
| + | |||
| + | Позволяет добавлять в программу новые операции, | ||
| ===== Ссылки ===== | ===== Ссылки ===== | ||