Skip to content

Latest commit

 

History

History
16 lines (15 loc) · 5.44 KB

README.md

File metadata and controls

16 lines (15 loc) · 5.44 KB

design-patterns

📚 Simple examples of using design patterns

  1. Стратегия — поведенческий паттерн проектирования, который определяет семейство схожих алгоритмов и помещает каждый из них в собственный класс, после чего алгоритмы можно взаимозаменять прямо во время исполнения программы.
  2. Наблюдатель — поведенческий паттерн проектирования, который создаёт механизм подписки, позволяющий одним объектам следить и реагировать на события, происходящие в других объектах.
  3. Декоратор — структурный паттерн проектирования, который позволяет динамически добавлять объектам новую функциональность, оборачивая их в полезные «обёртки».
  4. Фабрика — общая концепция проектирования функций, методов и классов, когда какая-то одна часть программы отвечает за создание других частей программы. Фабричный метод — порождающий паттерн проектирования, который определяет общий интерфейс для создания объектов в суперклассе, позволяя подклассам изменять тип создаваемых объектов. Абстрактная фабрика — порождающий паттерн проектирования, который позволяет создавать семейства связанных объектов, не привязываясь к конкретным классам создаваемых объектов.
  5. Singleton — порождающий паттерн проектирования, который гарантирует, что у класса есть только один экземпляр, и предоставляет глобальную точку доступа к этому экземпляру.
  6. Команда — поведенческий паттерн проектирования, который инкапсулирует запрос в виде объекта, делая возможной параметризацию клиентских объектов с другими запросами, организацию очереди или регистрацию запросов, а также поддержку отмены операций.
  7. Адаптер — структурный паттерн проектирования, который преобразует интерфейс класса к другому интерфейсу, на который рассчитан клиент.
  8. Фасад — структурный паттерн проектирования, который предоставляет простой интерфейс к сложной системе классов, библиотеке или фреймворку.
  9. Шаблонный метод — поведенческий паттерн проектирования, который определяет скелет алгоритма, перекладывая ответственность за некоторые его шаги на подклассы. Паттерн позволяет подклассам переопределять шаги алгоритма, не меняя его общей структуры.
  10. Итератор — поведенческий паттерн проектирования, который даёт возможность последовательно обходить элементы составных объектов, не раскрывая их внутреннего представления.
  11. Компоновщик — структурный паттерн проектирования, который позволяет сгруппировать множество объектов в древовидную структуру, а затем работать с ней так, как будто это единичный объект.