Чему вы научитесь
- Понимать назначение паттернов проектирования и задачи, которые они решают
- Выбирать подходящий паттерн под конкретную проблему в Go-приложении
- Реализовывать шаблоны проектирования средствами языка Go
- Использовать интерфейсы и композицию для уменьшения связанности кода
- Разделять создание объектов, структуру компонентов и их взаимодействие
- Проектировать код, который проще расширять и изменять
- Распознавать ситуации, в которых применение паттерна избыточно
- Адаптировать классические design patterns к особенностям Go
- Анализировать преимущества и недостатки различных архитектурных решений
- Улучшать существующий Go-код с помощью подходящих шаблонов проектирования
- Избегать чрезмерных абстракций и ненужного усложнения архитектуры
- Писать более понятный, модульный и поддерживаемый код на Golang
О курсе
Для кого этот курс
Начальные требования
Знание базового синтаксиса Go
Умение работать со структурами и методами
Понимание интерфейсов в Go
Базовое понимание пакетов и организации Go-кода
Опыт коммерческой разработки не требуется
Преподаватели курса
Как проходит обучение
Курс построен вокруг последовательного изучения паттернов и практики их применения на Go.
Сначала Вы разбираетесь, какую проблему решает конкретный подход и почему она возникает. Затем изучаете вариант реализации на Go, анализируете его преимущества и ограничения и закрепляете материал заданиями.
Особое внимание уделяется тому, как классические паттерны меняются с учётом идиом языка Go, интерфейсов и композиции.
Обучение проходит в собственном темпе. К материалам и заданиям можно возвращаться для повторения и использования в качестве справочника.
Что вы получите
- Системное понимание паттернов проектирования
- Навык выбора паттерна под конкретную задачу
- Практику реализации design patterns на Go
- Более глубокое понимание интерфейсов и композиции
- Умение снижать связанность компонентов приложения
- Понимание компромиссов между гибкостью и сложностью архитектуры
- Навык анализа и рефакторинга существующего Go-кода
- Базу для дальнейшего изучения архитектуры Go-приложений
- Дополнительную подготовку к вопросам по проектированию на собеседованиях
- Сертификат Stepik после успешного завершения курса