🌚
Ты точно в ту сторону?) Мы тут как-раз за один конвертер внутри репозитория
https://t.me/gogolang/866055
более наружный - это более наружный. в моей картине мира глубже репозитория только субд
Т.е. конвертер у тебя лежит в бизнес-логике?
Боюсь это не то как обычно изображают слои. В центре — бизнес-логика, БД — это лишь стороннее внешнее хранилище https://t.me/warden_log/149
В Go БД должна быть в самой глубине, а бизнес-логика должна её встраивать.
Это, кстати, интересная позиция. Я подумаю легче бы было мне разделять свой монолит, если бы было так 🤔
вот так писать прям очень напряжно для тех задач, для которых подходит go (тривиальные и простые) это оправдать будет прям трудно но если СУБД у нас внешний сервис - да, конвертеров будет два, неизбежно.
Конвертер один. Язык никак не влияет на слои
при чем тут язык? на границе сервисов у нас фиксированный протокол. у протокола свои dto, и, соответственно, нужны два конвертера, в протокол и из протокола.
вот так? transport (HTTP) mapping http_dto -> use_case_dto use_case_method(use_case_dto) create serviceA_dto serviceA_method(serviceA_dto) create serviceB_dto serviceB_method(serviceB_dto) transport (gRPC) mapping grpc_pb -> use_case_dto ... transport (MQ) ....
я не уверен, что распарсил
-> -> controller.activate unmarshal to request dto validate create command for use case ->user.usecase.Register(command) validate create user generate Password with password service (тут сервисный слой!!!!, а не userService!!) save user flush events <- marshal and response (if not err/or err) <-
то есть репо вызывается в рамках usecase?
конеш, это точка домена для синка состояния
а, так вот кто все намешивает ツ
такое гораздо тяжелее тестировать и поддерживать если конечно в проекте больше 10 сценариев
легко, тк DI репо у вас интерфейс в домене реализация в инфре, подменили репу и вот у вас все тестируется, епта репо — часть домена всегда
@MikhailGulkin тут говорят что репо часть домена
он со мной солидарен, вчера много вермени эт овыясняли
ща расскажут, даже цитаты из фаулера привнесут
вот тут ты пишешь репо — часть домена.
в каком смысле - часть?
так я сам не понял (
Это один из вариантов трилемы
это тоже самое что: агрегат это домен, но агрегат — что-то, по чему лежит транзакция (казалось бы, откуда она появилась при обсуждении домена)
Обсуждают сегодня