Различия

Показаны различия между двумя версиями страницы.

Ссылка на это сравнение

Предыдущая версия справа и слева Предыдущая версия
Следующая версия
Предыдущая версия
php:patterns [2022/05/11 10:50] mirocowphp:patterns [2022/05/11 13:18] (текущий) mirocow
Строка 1: Строка 1:
-====== Паттерны проектирования ======+{{tag>patterns,шаблоны проектирования,паттерны проектирования}}
  
-===== Шаблоны проектирования =====+====== Шаблоны проектирования ======
  
-===== Цепочка обязанностей / 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 ====
  
 Позволяет добавлять в программу новые операции, не изменяя классы объектов, над которыми эти операции могут выполняться. Позволяет добавлять в программу новые операции, не изменяя классы объектов, над которыми эти операции могут выполняться.