В Go-сообществе устоялось несколько подходов. Для маленьких проектов — flat layout: всё в одном пакете. Для средних — стандартная раскладка: cmd/ (точки входа), internal/ (приватный код), pkg/ (публичные библиотеки). Для больших — Clean Architecture с явными слоями: domain, usecase, delivery, repository. В нашем проекте именно Clean Architecture: бизнес-логика в usecase, HTTP/gRPC в delivery, работа с базой в repository, а domain содержит типы и интерфейсы. Главное правило — зависимости направлены внутрь, к domain.
Как структурировать Go проект?
Middle
1.1k просмотровAFK Offer AI
Что такое load balancer?