Курс о том, как проектировать классами, а не просто писать код в классах.
Начинаем с того, откуда взялась парадигма и какую проблему она решала, разбираем объект и класс как понятия, четыре базовые концепции, а затем переходим к проектированию: GRASP отвечает на вопрос «кому поручить обязанность», SOLID — «как не сломать код изменением», паттерны GOF дают готовые решения повторяющихся задач.
Основной язык примеров — C#. Там, где паттерн в другом языке выглядит принципиально иначе, у листинга есть вкладки: Go, Python, TypeScript, Java и Kotlin.