Please enable JavaScript.
Coggle requires JavaScript to display documents.
OOP Software Design Patterns - Coggle Diagram
OOP Software Design Patterns
Behavioral
(Поведенческие)
Memento
(Хранитель) :lock: Хранитель состояний объекта для возвращения к ним
Observer
(Наблюдатель) aka Publisher-Subsriber :fountain_pen: :pencil2: Организация непрямого уведомления многих о событиях от нескольких источников
Mediator
(Посредник) :star: Разрывание жестких связей между взаимодействующими компонентами прокидыванием их через центральный посредник с абстрагированным от конкретных компонентов интерфейсом
State
(Состояние) :lock: Хранения состояния (конечного автомата) в виде смены подкласса базового класса
Iterato
r (Итератор) :recycle: :recycle: Организация обхода коллекции/структуры
Strategy
(Стратегия) :check: :green_cross: :red_cross: Инкапсуляция поведения в отдельный объект, разные поведения - разные подклассы абстрактной стратегии
Interprete
r (Интерпретатор) :pen: Обработка выражений в грамматике условного языка
Template Methode
(Шаблонный метод) :pencil2: Полиморфное переопределение некоторых шагов алгоритма; общие части алгоритма наследуются
Command
(Команда) :warning: Спуск команды через абстрактный интерфес исполнения из набора команд, преобразование команд в объекты, доступные для хранения
VIsitor (Посетитель)
:beer_mugs: Передаваемый в структуру дополнительный метод для выполнения каждым элементом
Chain of Responsibility
(Цепочка обязанностей) :warning: :green_cross: :green_cross: :check: Передача события по цепочки до неизвестного заранее исполнителя
Structural
(Структурные)
Decorator
(Декоратор) :pen: Добавление вспомогательной функциональности с сохранием интерфейса (иногда рекурсивное)
Facade
(Фасад) :lock: Связывание интерфесов нескольких подсистем в единый интерфейс системы
Composite
(Компоновщик) :confetti_ball: Рекурсивно-вложенная древовидная структура, способная спускать "вниз" выполнение метода
Flyweight
(Приспособленец) :!!: Поддержание структур из ограниченного набора образцов
Bridge
(Мост) :unlock: Разрыв зависимости от реализации путем промежуточного абстрактного посредника, от которого реализации наследуют интерфейс
Proxy
(Заместитель) :green_cross: Опосредование доступа к малодоступному (удаленному) или затратному объекту
Adapter
(Адаптер) :black_flag: :red_flag: Приведение несовместимого интерфейса к нужному
Creational
(Порождающие)
Factory Methode
(Фабричный метод) :!?: Создание объекта задаваемого "на лету" подтипа
Prototype
(Прототип) :silhouettes: Создание новых объектов клонированием одного из ранее созданных прототипов
Builder
(Строитель) :silhouette: Многоэтапное построение объекта
Singleton
(Одиночка) :star: Класс с единственным экземпляром
Abstract Factory
(Абстрактная фабрика) :recycle: Создание связанных семейств объектов