Size: a a a

2020 June 30

Н

Никита in Go-go!
С одной стороны да, логично скрыть за одним репо/гейтвеем и разруливать. Но с другой думаю могут ли быть какие-то кейсы резолвинга, которые будут определяться бизнес требованиями.
источник

Н

Никита in Go-go!
Хотя в случае с хранением данных это вряд ли. Попробую скрыть обращение к кэшу внутри гейтвея базы, спасибо
источник

RS

Roman Sharkov in Go-go!
источник

Н

Никита in Go-go!
Есть место где лежит эта статья без надобности регаться?
источник

M

Mikhail in Go-go!
Никита
Есть место где лежит эта статья без надобности регаться?
если кончились просмотры в месяц, просто открой из инкогнито
источник

Н

Никита in Go-go!
Mikhail
если кончились просмотры в месяц, просто открой из инкогнито
А, действительно, спасибо
источник

J

Je in Go-go!
Никита
С одной стороны да, логично скрыть за одним репо/гейтвеем и разруливать. Но с другой думаю могут ли быть какие-то кейсы резолвинга, которые будут определяться бизнес требованиями.
можешь добавить некий флажок WithNoCache либо при инициализации репозитория, либо в отдельных методах
архитектурно правильно будет, наверное, принимать интерфейс кэша при инициализации репозитория, и при доступе обращаться к нему, а уже в нем ты можешь закидывать пустой мок тогда, когда кэш не нужен
источник

J

Je in Go-go!
кстати, кто как в Go чаще называют прослойку базы, Repository или DAO или что-то еще?
источник

Н

Никита in Go-go!
Je
можешь добавить некий флажок WithNoCache либо при инициализации репозитория, либо в отдельных методах
архитектурно правильно будет, наверное, принимать интерфейс кэша при инициализации репозитория, и при доступе обращаться к нему, а уже в нем ты можешь закидывать пустой мок тогда, когда кэш не нужен
С интерфейсом немного усложнит структуру думаю. Флажок вариант оптимальный. Все равно мокать скорее будем хранилище в целом, чем отдельные его детали
источник

Н

Никита in Go-go!
Je
кстати, кто как в Go чаще называют прослойку базы, Repository или DAO или что-то еще?
Это будут разные вещи. Repository это специфика DDD, DAO/Gateway – по сути просто методы обращения к базе как к стороннему сервису, которые скрывают всю логику за собой
источник

АД

Алексей Долгов... in Go-go!
Je
кстати, кто как в Go чаще называют прослойку базы, Repository или DAO или что-то еще?
Repo. Так лаконичнее)
источник

ЕА

Егор Андреевич... in Go-go!
Алексей Долгов
Repo. Так лаконичнее)
а чего не R? так еще лаконичнее
источник

ВГ

Владимир Гришин... in Go-go!
Je
кстати, кто как в Go чаще называют прослойку базы, Repository или DAO или что-то еще?
DB
источник

АД

Алексей Долгов... in Go-go!
Егор Андреевич
а чего не R? так еще лаконичнее
Repo - однозначно можно понять что репозиторий, то же самое что func function. Просто поддержка традиций) так то да, борщить с этим не стоит
источник

Н

Никита in Go-go!
Алексей Долгов
Repo - однозначно можно понять что репозиторий, то же самое что func function. Просто поддержка традиций) так то да, борщить с этим не стоит
Так надо еще сойтись на том, что такое репозиторий
источник

АС

Артур Саляхов... in Go-go!
Никита
Так надо еще сойтись на том, что такое репозиторий
Слой работы с данными?
источник

АД

Алексей Долгов... in Go-go!
Ну я если делаю слой абстракции для работы с определенной коллекцией, то называю типа PostRepo, CommentRepo, UserRepo. Ну интерфейсы например и реализация для конкретной БД например. Если не хочу заморачиваться делаю просто одну структуру, которая ходит в БД, сохраняет, что то удаляет и называю ее DB.
источник

Н

Никита in Go-go!
Артур Саляхов
Слой работы с данными?
Под этот критерий попадает что угодно, даже прямое обращение к sql.DB
источник

Н

Никита in Go-go!
Алексей Долгов
Ну я если делаю слой абстракции для работы с определенной коллекцией, то называю типа PostRepo, CommentRepo, UserRepo. Ну интерфейсы например и реализация для конкретной БД например. Если не хочу заморачиваться делаю просто одну структуру, которая ходит в БД, сохраняет, что то удаляет и называю ее DB.
Это обычный Gateway будет
источник

АС

Артур Саляхов... in Go-go!
Никита
Под этот критерий попадает что угодно, даже прямое обращение к sql.DB
Ну академически праваильное определение я не смогу дать)
источник