Комментарии 2
Ой столько проблем с этими DTO... По 10 прокси методов необходимо лишь бы перегнать в нужный формат
type deliveryClient interface {
Create(ctx context.Context, t time.Time, orderId string) (trackId string, err error)
}
Ну наконец-то увидел правильное использование интерфейсов в Go по месту использования. А то постоянно делают мало того что глобальными суперинтерфейсами, так еще и в пакет реализации засовывают.
И постоянное у всех вижу использование Repository и с методами не как для работы с коллекцией и определенной для 1 сущности. Смотришь по методам — там или DAO, или типичный Storage, но никак не репозиторий. Даже не знаю, почему так упорно везде пытаются пихать Repository.
И лично мне не нравится, что из пакета постоянно структуру делают экспортируемой. Да, я в курсе, что даже Goland IDE ругается на это (с чего ли?), и все так делают. Но когда из пакета торчат только разрешенные методы, мы снижаем случайно в другом пакете сделать жесткую зависимость и со временем превратить проект в «комок грязи» по "чистой архитектуре" с папочками по ДДД.
А так все по делу изложено и логично.
Некоторые приёмы ООП в golang