Попытался сделать REST и столкнулся с проблемой непонимания структуры проекта. Ориентировался на этот шаблон - https://github.com/golang-standards/project-layout
Я пришёл из мира C# и DDD. Для меня привычно разделение на домен, инфраструктуру, контексты и пр. Допустим, есть у меня доменная модель Order. Получать я её буду из внешнего api и своей БД. В какую папку правильнее положить type Order struct, чтобы получился идиоматичный код? Я посмотрел примеры проектов - в папках /internal и /pkg обычно всякие-хелперы и прочее
Начните с order.go в корне, а сущностей потом наплодите - по мере написания кода появится понимание, что и куда. Но это не точно.
https://medium.com/@jfeng45/go-micro-service-with-clean-architecture-application-layout-e6216dbb835a Примерно по этому лэйауту делаю сервисы, тут автор объясняет его структуру. Здесь доменные модели внезапно в директории model.
Звучит здраво, спасибо
Выглядит хорошо, спасибо!
pkg/order/order.go package order type Order struct {} func New() *Order { return &Order{} } потом там где нужно: // ... o := order.New()
Так доменная же логика. Причём тут sqlx
да делайте как хотите, спросили - вот пример , дальше сами решайте что вам нужно
Я идею понял, спасибо
фикcанул) убрал sqlx
Обсуждают сегодня