Короче есть три основных вида паттернов: 1. Порождающие 2. Структурные 3. Поведенческие
В порождающих паттернах находятся:
- Абстрактная фабрика
- Строитель
- Фабричный метод
- Прототип
- Одиночка
- Объектный пул
- Ленивая инициализация
- Параметризированная фабрика
Причем с фабрики по одиночку являются GoF - это пятерка классических порождающих паттернов.
В структурных паттернах находятся:
- Адаптер
- Мост
- Компоновщик
- Декоратор
- Фасад
- Приспособленец
- Заместитель
Когда какой паттерн выбирать?
Есть несовместимые интерфейсы? → Адаптер. Нужно разделить абстракцию и реализацию? → Мост. Работаете с деревьями? → Компоновщик. Хотите динамически добавлять поведение? → Декоратор. Упрощаете сложную систему? → Фасад. Оптимизируете память? → Приспособленец. Нужен контроль доступа или ленивая загрузка? → Заместитель.
В поведенческих паттернах находятся:
- Цепочка обязанностей
- Команда
- Итератор
- Посредник
- Снимок
- Наблюдатель
- Состояние
- Стратегия
- Шаблонный метод
- Посетитель
Ну начнем по списку #weekofpatterns