📕 Книжный клуб, сезон #2 - паттерны проектирования

В апреле у нас в сообществе появилась новая активность - книжный клуб.

Формат

  • Выбираем книгу, читаем по 1 главе в неделю
  • По субботам на созвоне обсуждаем материал, вопросы

Основная идея - вместе осилить книгу проще, чем в одиночку. Плюс, созвоны - хорошая площадка для общения. Книги выбираются исходя из критерия полезности для учёбы и трудоустройства.

За 10 недель c апреля по июнь мы разобрали “Чистый код”. Следующая тема - паттерны проектирования, начинаем в следующую субботу, 6 июля.

Список тем на разбор

Выбрать конкретную книгу по этой теме довольно трудно (не все пишут на Java), поэтому я решил сформировать список тем, и каждый сможет изучить их по удобным ресурсам с примерами на актуальном языке.

Приоритеты, учитывая которые я выбирал темы:

  • Не обязательно знать все паттерны, достаточно основных
  • В разных предметных областях актуальны те или иные паттерны. Наша основная предметная область - backend
  • Ограничимся ООП языками, ищем примеры паттернов в пет проектах роадмапа, стандартных библиотеках наших языков и фреймворках

Предварительный план

  • Неделя 1. Паттерны как идея, зачем нужны, почему появились и какую задачу решают
  • Неделя 2. Creational patterns - singleton, builder, prototype
  • Неделя 3. Creational patterns - factory, abstract factory
  • Неделя 4. Behavioral patterns - strategy, iterator
  • Неделя 5. Behavioral patterns - observer, chain of responsibility
  • Неделя 6. Structural patterns - adapter, decorator, proxy
  • Неделя 7. Составные паттерны. MVC
  • Неделя 8. Минусы и критика паттернов (пример)

Формат созвона каждой недели:

  • Я начинаю с рассказа о теме через призму своего опыта, с примерами из пет проектов и Java standard library / Spring (которые богаты примерами паттернов)
  • Все желающие дополняют меня, обсуждаем непонятные моменты и вопросы

Все созвоны будут записаны, записи выложены в открытом доступе на Google Drive.

Рекомендуемые книги и ресурсы

  • Head First Design Patterns (Java)
  • https://refactoring.guru/design-patterns
  • Классическая книга “Design Patterns: Elements of Reusable Object-Oriented Software”, примеры на C++
  • Mastering Python Design Patterns (Python)
  • Что угодно другое на ваш выбор, где рассмотрены темы, описанные выше

Как поучаствовать

Вступайте в чат, общайтесь в ветке “книжный клуб”, приходите на созвоны, слушайте записи.

Приходите, буду раз видеть новые лица.