Господа, вот такой вопрос:
Обычно в го принято интерфейсы определять по месту использования. Ну с библиотеками это понятно (хотя когда методы возвращают объекты со своими методами, интерфейсом без обертки просто так не покроешь)
Но если мы пишем проект используя какую-нибудь слоистую архитектуру, то каждый слой потом при сборке подсоединяется через интерфейс. То есть у бд свои интерфейсы, у API внешних, у еще чего-то
Так вот вопрос - как в этом случае и где определять интерфейсы для них? Обычно эти интерфейсы меняются вместе с реализацией (добавление новых методов в DAO/DAL, например), и разумно их держать в одном пакете
С другой стороны, это не го-вейно
Как делаете?