нарушаете контрактов, то зачем их менять?
Нет у вас никакого орм-like, у вас есть в го только репозитории и их имплантации
я пытаюсь понять почему репозиторий должен быть именно интерфейсом
но боюсь скатиться в дженерики :)
Во-первых это поможет избежать протечки. Во-вторых бизнес логика не будет зависеть от деталей (по Дяде Бобу).
а вы различаете репозиторий как модуль в вашем проекте и репозиторий как зависимость в другом модуле первое интерфейсом быть не может второе интерфейсом быть должно по SOLID
в данном случае - если несколько модулей реализуют этот интерфейс - то тут очевидно это только через интерфейс
в go концепция другая, и надо как-то заставлять себя об этом помнить в go модули не реализуют интерфейсы, а могут быть использованы в качестве интерфейса
одно не исключает другое? или я ошибаюсь
Обсуждают сегодня