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

31 ответов

13 просмотров

🌚

Ты точно в ту сторону?) Мы тут как-раз за один конвертер внутри репозитория

Daniel-Podolsky Автор вопроса
Daniel-Podolsky Автор вопроса

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

Daniel Podolsky
более наружный - это более наружный. в моей картин...

Т.е. конвертер у тебя лежит в бизнес-логике?

Daniel Podolsky
более наружный - это более наружный. в моей картин...

Боюсь это не то как обычно изображают слои. В центре — бизнес-логика, БД — это лишь стороннее внешнее хранилище https://t.me/warden_log/149

Айван
Боюсь это не то как обычно изображают слои. В цент...

В Go БД должна быть в самой глубине, а бизнес-логика должна её встраивать.

Daniel Podolsky
ага

Это, кстати, интересная позиция. Я подумаю легче бы было мне разделять свой монолит, если бы было так 🤔

Daniel-Podolsky Автор вопроса
Айван
Боюсь это не то как обычно изображают слои. В цент...

вот так писать прям очень напряжно для тех задач, для которых подходит go (тривиальные и простые) это оправдать будет прям трудно но если СУБД у нас внешний сервис - да, конвертеров будет два, неизбежно.

Daniel Podolsky
вот так писать прям очень напряжно для тех задач,...

Конвертер один. Язык никак не влияет на слои

Daniel-Podolsky Автор вопроса
Айван
Конвертер один. Язык никак не влияет на слои

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

Daniel Podolsky
при чем тут язык? на границе сервисов у нас фиксир...

вот так? 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) ....

Daniel-Podolsky Автор вопроса
Artur Karapetov
вот так? transport (HTTP) mapping http_dto -> use...

-> -> 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) <-

Максим Федоров
-> -> controller.activate unmarshal to requ...

то есть репо вызывается в рамках usecase?

Artur Karapetov
то есть репо вызывается в рамках usecase?

конеш, это точка домена для синка состояния

Максим Федоров
ну конечно

такое гораздо тяжелее тестировать и поддерживать если конечно в проекте больше 10 сценариев

Artur Karapetov
такое гораздо тяжелее тестировать и поддерживать ...

легко, тк DI репо у вас интерфейс в домене реализация в инфре, подменили репу и вот у вас все тестируется, епта репо — часть домена всегда

Artur Karapetov
@MikhailGulkin тут говорят что репо часть домена

он со мной солидарен, вчера много вермени эт овыясняли

Максим Федоров
легко, тк DI репо у вас интерфейс в домене реали...

ща расскажут, даже цитаты из фаулера привнесут

Daniel-Podolsky Автор вопроса
Bol4onok
Это один из вариантов трилемы

это тоже самое что: агрегат это домен, но агрегат — что-то, по чему лежит транзакция (казалось бы, откуда она появилась при обсуждении домена)

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

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

читать файл максимально быстро? странный вопрос))
zamtmn
53
тоесть, указав return eax, сгенерируется никому ненужная инструкция mov eax,eax ?
Aiwan \ (•◡•) / _bot
24
я имею в виду официально интегрированный в телегу? в том плане что не сливает переписку с пользователем?
Andrey
9
Кто-нибудь решал проблему с автоматическим скроллингом к выбранной ячейке в TDBGrid в Lazarus? Проблема в том, что есть допустим 3 столбца, третий столбец виден наполовину, вк...
Дмитрий Логинов
1
А чего сейчас в моде вместо Error для эксепшенов? А то я тут внезапно узрел что он не рекомендуется :) У Try::Tiny какой-то совершенно ужасный синтаксис если надо конкретные э...
Denis F
19
Приветствуем всех! Устали без проектов? Если вы программист и хотите получать стабильные заказы, компания Elif предлагает вам недельный курс по поиску проектов и их ведению. ...
Elif
1
а зачем этот вопрос для удаления из чата?
Mёdkinson Medvezhkin
63
Чорт! Чорт! Чорт! Стала ставить через GetIt (написано же, что ручками не рекомендуется) Сломалось на дублировании моей TSkLabel. Чтож мне ее по всем проектам переименовывать в...
Катерина Свиридова
7
Привет. Сразу скажу, что на C/C++/Rust я не пишу, но тем не менее возникла потребность дебага C/C++/Rust кода. Суть: есть серверное приложение, которое периодически ведёт себ...
ninekeem 🐳
4
всем привет! углубившись в плюсы и начав изучать реверсинг понял, что без асм'а никуда со своими высокоабстрактными представлениями начал изучать механизмы асма, и не совсем п...
9
Карта сайта