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