Паттерны проектирования в Go
Часть курса Go
Программы разрастаются. Файл, который был совершенно понятен на двухстах строках, превращается в место, где мелкая правка ломает что-то в трёх файлах от неё, а тесты становятся всё медленнее и всё труднее в написании, пока их не перестают писать вовсе. Дело не в нехватке навыка: так бывает всегда, когда в программе любая часть может дотянуться до любой другой.
Паттерн проектирования, это форма, к которой люди приходят независимо друг от друга, потому что она хорошо решает эту проблему. Это не правило и не фреймворк, а описание устройства, которое сработало. В Go есть несколько таких, они всплывают в настоящих кодовых базах снова и снова и при этом необычайно малы: никаких иерархий классов, никаких аннотаций, почти только функции и аккуратно применённые интерфейсы. ...
Хочешь изучать Go Паттерны проектирования в Go в реальной среде?
Нажми ниже, получи Linux-машину с Go наготове и пройди Паттерны проектирования в Go на практике вместе с AI-наставником, который знает твой код.
Начать этот урокПаттерны проектирования в GoЧему вы научитесь
- Functional options pattern
- Repository pattern
- Dependency injection via interfaces
- Context propagation through call stacks
- Constructor functions
Читай этот урок на своём языке
Все уроки этого курса
20 уроков- 1Привет, Go25 мин
- 2Переменные и типы25 мин
- 3Управление потоком: if и for30 мин
- 4Функции30 мин
- 5Срезы (slices) и карты (maps)35 мин
- 6Структуры (structs) и указатели (pointers)35 мин
- 7Методы (methods) и интерфейсы (interfaces)35 мин
- 8Обработка ошибок35 мин
- 9Модули (modules) и структура проекта35 мин
- 10Мини-проект на основе CLI40 мин
- 11Обзор стандартной библиотеки40 мин
- 12Тестирование и бенчмарки (benchmarks)40 мин
- 13Горутины (goroutines) и каналы (channels)40 мин
- 14Паттерны параллелизма45 мин
- 15Дженерики (generics)35 мин
- 16HTTP-серверы45 мин
- 17Базы данных с database/sql45 мин
- 18Производительность и профилирование40 мин
- 19Паттерны проектирования в Go40 мин
- 20Развёртывание и эксплуатация45 мин
