170 похожих чатов

Всем доброго времени суток! Вчера с моего вопроса: https://t.me/gogolang/602936 началась

небольшая дискуссия по поводу того, как правильно использовать интерфейсы в го

Я вот думал на эту тему вчера, т.к мне не удалось найти никаких примеров нормальных в гугле, решил накидать свою реализацию на плэйграунде:
#1. https://play.golang.org/p/oZpIqrrTBms
Вот примерно вариант который я юзаю (ссылаясь на туторы где говорили о том что это чистая архитектура/DDD). Но в чате говорят что это ненужная парадигма из других языков, в го пишут иначе

#2. Исходя из ответов я попытался представить себе как это будет го вэй, но повторюсь, т.к туторов не нашел, я это с головы сделал: https://play.golang.org/p/OKR3skLsAqP

Мой вопрос в том, правильно ли я понимаю что писать нужно в стиле из второго примера? Он вообще похож на правду, или я все таки абсолютно неверно интерпретировал вчерашние советы по поводу интерфейсов? Спасибо)

5 ответов

1 просмотр
rglitchard- Автор вопроса

мое сообщение слегка потерялось в треде, поэтому сделаю бамп. @onokonem соответствует ли теперь второй вариант реализации вашему сообщению: https://t.me/gogolang/602937?)

rglitchard
мое сообщение слегка потерялось в треде, поэтому с...

интерфейс описывается там, где ты собираешься использовать его, а не там, где он реализуется. это если кратко

rglitchard
мое сообщение слегка потерялось в треде, поэтому с...

интерфейс в любом случае или на стороне использования, или в отдельном пакете протокол - или на строне сервера, или в отдельном пакете

rglitchard- Автор вопроса
Daniel Podolsky
интерфейс в любом случае или на стороне использова...

спасибо, теперь становится понятнее. Но появился новый вопрос, в каком случае тогда уместно использовать протоколы?)

rglitchard- Автор вопроса
rglitchard
спасибо, теперь становится понятнее. Но появился н...

в моем представлении протокол это когда я кодогенерацией сделал его из структуры протобафа, например или сгенерил моку для интерфейса. Эти примеры же можно назвать протоколом, верно?

Похожие вопросы

Обсуждают сегодня

А еще в перле можно уже @arr1 + @arr2?
Sergei Zhmylove
53
Подскажите, где смотреть результат выполнения программы? Код: ;.686 ;Система команд процессора 686 ;.MODEL FLAT,stdcall ;Модель памяти плоская, станда...
Егор Анелькин
5
я не магистр хаскеля, но разве не может лейзи тип конвертнуться в не-лейзи запросив вычисление содержимого прям при инициализации?
deadgnom32 λ madao
100
Привет всем. появился вопрос. Разрабатываю сайт, в данный момент он запущен. Хостинг beget. Добавляю на сайт яндекс метрику с помощью полей client-settings (взято отсюда http...
Andrew
2
;.686 ;Система команд процессора 686 ;.MODEL FLAT,stdcall ;Модель памяти плоская, стандартный ;вызов процедуры ;option casemap:no...
Егор Анелькин
1
почому оно не работает?
Vi Chapmann Chapmann
19
Так а кто может спарсить всех участников чата? Идишники
Magic
17
Есть вопрос: допустим есть железка с каким-то интерфейсом(допустим usb), но как по этому интерфейсу железкой управлять неизвестно, прог нету, а управлять очень хочется надо. К...
Mixail Frolov
15
а как ловят такое ghci> res <- getPos2 urlt 0 (alist !! 0) 200 ghci> res SearchAtom (Search "www.google.com" "/search?q=" "Haskell") "haskell.org" (SearchTS [(2024-05-06 07:...
Fedor
14
всем привет почти закончил курс После него можно писать свою операционку? Какие библиотеки надо использовать и куда дальше копать для изучения
Linus
13
Карта сайта