Известны порождающие, структурные и поведенческие паттерны.
Порождающие паттерны:
- Фабричный метод (Factory Method): Предоставляет интерфейс для создания объектов в суперклассе, позволяя подклассам изменять тип создаваемых объектов.
python
- Абстрактная фабрика (Abstract Factory): Предоставляет интерфейс для создания семейств взаимосвязанных или взаимозависимых объектов, не специфицируя их конкретных классов.
- Одиночка (Singleton): Гарантирует, что у класса есть только один экземпляр, и предоставляет глобальную точку доступа к нему.
python
- Строитель (Builder): Позволяет пошагово создавать сложные объекты, отделяя процесс конструирования от представления.
- Прототип (Prototype): Позволяет создавать копии существующих объектов, не вдаваясь в подробности их реализации.
Структурные паттерны:
- Адаптер (Adapter): Позволяет объектам с несовместимыми интерфейсами работать вместе.
python
- Мост (Bridge): Разделяет абстракцию и реализацию так, чтобы они могли изменяться независимо друг от друга.
- Компоновщик (Composite): Позволяет компоновать объекты в древовидные структуры для представления иерархий от частного к целому.
- Декоратор (Decorator): Динамически добавляет объектам новые обязанности.
- Фасад (Facade): Предоставляет унифицированный интерфейс к группе подсистем.
- Приспособленец (Flyweight): Позволяет использовать множество мелких объектов, эффективно их разделяя.
- Заместитель (Proxy): Предоставляет суррогат или заполнитель для другого объекта, чтобы контролировать доступ к нему.
Поведенческие паттерны:
- Цепочка обязанностей (Chain of Responsibility): Позволяет пер