Короче есть три основных вида паттернов: 1. Порождающие 2. Структурные 3. Поведенческие

В порождающих паттернах находятся:

  • Абстрактная фабрика
  • Строитель
  • Фабричный метод
  • Прототип
  • Одиночка
  • Объектный пул
  • Ленивая инициализация
  • Параметризированная фабрика

Причем с фабрики по одиночку являются GoF - это пятерка классических порождающих паттернов.

В структурных паттернах находятся:

  • Адаптер
  • Мост
  • Компоновщик
  • Декоратор
  • Фасад
  • Приспособленец
  • Заместитель

Когда какой паттерн выбирать?

Есть несовместимые интерфейсы? → Адаптер. Нужно разделить абстракцию и реализацию? → Мост. Работаете с деревьями? → Компоновщик. Хотите динамически добавлять поведение? → Декоратор. Упрощаете сложную систему? → Фасад. Оптимизируете память? → Приспособленец. Нужен контроль доступа или ленивая загрузка? → Заместитель.

В поведенческих паттернах находятся:

  • Цепочка обязанностей
  • Команда
  • Итератор
  • Посредник
  • Снимок
  • Наблюдатель
  • Состояние
  • Стратегия
  • Шаблонный метод
  • Посетитель

Ну начнем по списку #weekofpatterns