Архитектура Golang приложений 🚀Разбор реального проекта

preview_player
Показать описание


00:00 - Введение. Flat архитектура приложения на моем первом проекте с Golang
02:37 - Лучшие практики проектирования структуры приложений
04:22 - Директория /cmd
10:08 - Еще один пример структуры проектов. Пакеты pkg и internal
15:25 - Дополнительные директории в проекте. Пример API документации
20:05 - Детальный разбор internal. Чистая архитектура.

#golang #backend #архитектура
Рекомендации по теме
Комментарии
Автор

Путаете немного Инверсию зависимости(DIP) и Инъекцию зависимости(DI). Вообще названия не удачные поэтому путаница возникает между Инверсией зависимости, Инъекцией зависимости, Инверсией Управления. А так же Repository выродился в Gateway. Домен выродился в Анемичную Модель, то есть модель без поведения. Интерфейсы немножко пухловаты для инверсии, и лежат не на том слое, но шаги в правильном направлении, я уж так, придирки)) А вообще Вы молодец что просвещаете народ!

DarDarbl
Автор

Спасибо тебе, мужик! Было капец как полезно! Я сейчас на стажировке и мне остро не хватало как раз таких разъяснений "по полочкам"

ivandedenev
Автор

Это если не лучший, то один из лучших каналов по данной тематике на русскоязычном ютубе 🔥

ДмитрийРаннев-лу
Автор

Спасибо огромное! За моими плечами только один очень редкий фреймворк, для которого структуру мы разрабатывали сами. Так как я сейчас изучаю go, было очень интересно сравнить и сопоставить мои знания с новыми.

mrakvervolkov
Автор

Спасибо большое за видео, очень рад что нашёл ваш канал) продолжайте в том же духе!

assylkhanyeszhanov
Автор

Спасибо что делитесь опытом. Имхо подход Feature by package самый топовый подход который подойдет для всех видов приложений
Сначала делим на бизнес логические сущности (модули)

user
profile
payment
cart

А дальше в каждой папке будет

user
->features
->login
-> repositories
-> services
-> forms

robotbender
Автор

как пинок в правильном направлении, зачёт.

igor
Автор

Огромное спасибо за это видео, долго не мог понять из статей как грамотно орагнизовать структуру проекта. Было бы круто, если бы ты записал более подробное видео по чистой архитектуре и по чистому коду, в частонсти про SOLID в го. Есть масса статей, но они как правило очень поверхностно описывают эти принципы.

АлексейСумин-уь
Автор

Структура папок в проекте вторична. Главное это разделение ответственностей и связи между компонентами. Если они будут организованы хорошо, то большой разницы куда положить файлик не будет. Куда-то чуть более удобно, куда-то чуть более привычно.

АлександрП-гн
Автор

Ух, сколько связей и переплетений)
А я только на начале изучения языка Go, а здесь уже проект! интересно было просмотреть структуру, что-то думаю поймется со временем. Спасибо!

MRogalsky
Автор

О пожеланиях: было бы здорово на вашем канале посмотреть как на Го работать с брокерами сообщений (Кафка, Раббит)

assylkhanyeszhanov
Автор

Я снова влюбился в go и спасибо за инфу про организации приложения!

kyleRQWS
Автор

Хм хм, а если мы в cmd хотим запихнуть ещё один проект с main. То для этого нового проекта, где будут храниться пакеты? Видимо так же в internal и pkg. И получается некоторые пакеты используются совместно двумя проектами, некоторые пакеты уникальны для одного проекта. Так как же разрабу понять, какие куда относятся и можно ли что-то поменять для одного проекта и при этом не сломать другой?
Вот этого я не понял.

СергейХайдуков-кф
Автор

Нормально чел базаришь, в твоих звуках есть слова, да, я думаю ты шаришь, своими роликами знания подаришь

awenn
Автор

Личные ключи в головном readme - это, конечно, сильно! ;-)

chelovak
Автор

очень интересная структура! Большое спасибо!

fortis-lt
Автор

Спасибо за материал. Просто уточнение - инверсия и внедрение зависимостей это разные понятия.

СамирГахраманов-зу
Автор

насколько я знаю, в GO принято объявлять интерфейсы в местах использования, а не рядом с имплементацией. Тут же всё наоборот (например, в папке репозитория).

vladislavrodin
Автор

оооо) реализация ddd в go) интересно, интересно)

kochewnic
Автор

Фоновая музыка иногда сливается с речью и мешает восприятию, убавьте 🙏
Классная подача и подробный разбор тем, лайк!

AchekSlime