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

А, или ты имел в виду, что наш сервис куда-то

ходит по вс или graphql?

23 ответов

36 просмотров

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

Rostislav-Teryaev Автор вопроса
Ghost Walker
нет, именно представь у тебя меняется какой-то сер...

я юзкейсы такие передаю в адаптеры. И уже эти адаптеры сами решают, когда вызвать юзкейс это primary adapters Они могут быть любые, хттп, грпс, графкл, вс

Rostislav-Teryaev Автор вопроса
Ghost Walker
каким слоем является эти адаптеры ?)

в архитектуре портов адаптеров - адаптеры в чистой interface adapters

Rostislav Teryaev
в архитектуре портов адаптеров - адаптеры в чистой...

смотри, тебе нужно в хттп лишить очков 10 при неудачи, в вебсокете 20 очков лишить надо (просто допустим) ты это как будешь в инфре делать)

Rostislav-Teryaev Автор вопроса
Ghost Walker
смотри, тебе нужно в хттп лишить очков 10 при неуд...

поясни пж, что значит лишить 10 очков? блин 20 секунд слоумод - сурово

Rostislav Teryaev
поясни пж, что значит лишить 10 очков? блин 20 се...

просто убавить у юзера 10 или 20 каких нибудь тугриков (из бд), в зависимости от того откуда запрос поступит

Rostislav-Teryaev Автор вопроса
Ghost Walker
просто убавить у юзера 10 или 20 каких нибудь тугр...

получается, что сама информация откуда пришел запрос (каким способом) является бизнес-логикой. Поэтому будут юзкейсы вроде уменьшитьОчкиВебСокеты уменьшитьОчкиХттп

Rostislav Teryaev
получается, что сама информация откуда пришел запр...

Нет, информация не является "бизнес логикой".

Rostislav-Teryaev Автор вопроса
Sergey P
Нет, информация не является "бизнес логикой".

информация: "если запрос пришел из вс, то это 10 очков" - она является. Получается, что наша система работает определенным образом в зависимости от источника сообщения. Это бизнес-логика

Rostislav Teryaev
информация: "если запрос пришел из вс, то это 10 о...

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

Rostislav Teryaev
информация: "если запрос пришел из вс, то это 10 о...

вообще инфра может зависеть от бизнес логики, но не наоборот

Rostislav-Teryaev Автор вопроса
Ghost Walker
у нас есть бизнес правило - снимать у человека кво...

Не так. Ты сам озвучил бизнес правило: снять 10 очков, если это вс и 20, если это графкл.

Rostislav-Teryaev Автор вопроса
Ghost Walker
вообще инфра может зависеть от бизнес логики, но н...

согласен. Но я не говорил ничего этому противоречащее

Rostislav Teryaev
Не так. Ты сам озвучил бизнес правило: снять 10 оч...

нуууу) в юзкейсе ты не знаешь откуда пришел запрос, но с помощью DIP ты снимаешь необходимое количество очков, все рады, ответственность не нарушена

Rostislav-Teryaev Автор вопроса
Ghost Walker
нуууу) в юзкейсе ты не знаешь откуда пришел запрос...

вай причем тут дип то. Тут направление потока выполнения (адаптер вызывает юзкейс) совпадает с направлением зависимости (адаптер зависит от юзкейса)

Rostislav-Teryaev Автор вопроса
Ghost Walker
нуууу) в юзкейсе ты не знаешь откуда пришел запрос...

как бы ты сделал логику, которую ты описал, можешь рассказать?

Rostislav Teryaev
как бы ты сделал логику, которую ты описал, можешь...

в инфре был бы метод/класс который возвращал бы количество токенов для снятия (у каждого адаптера соответственно свой), мы это передаём в юзкейс, юзкейс вызывает этот метод

Rostislav-Teryaev Автор вопроса
Ghost Walker
в инфре был бы метод/класс который возвращал бы ко...

ну проблема в том, что инфра начинает знать о количестве токенов. Это бизнес-логика. Это можно реализовать еще явно передавая в юзкейс число токенов. Но тогда это число ты бы в инфре задавал константой. Знание этой константы - бизнес логика

Rostislav Teryaev
ну проблема в том, что инфра начинает знать о коли...

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

Rostislav-Teryaev Автор вопроса
Ghost Walker
бизнес логика начинается там, где код перестает за...

ну я согласен с этим. Но это происходит ДО той части, где известна эта константа. То что юзкейс не стал зависимым от адаптера - это да. Но бизнес логика утекла в сам адаптер. Приложение работает по-разному в зависимости от того, как к нему отправить запрос.

Rostislav Teryaev
ну я согласен с этим. Но это происходит ДО той час...

не правильно написал, инфра должна отдавать количество токенов в юзкейс, и максимум что она может сделать это отправить своему адаптеру какую нибудь информацию (например для хттп ничего не отправлять) а вот для вебсокета какое нибудь сообщение аля с вас спишется хх токенов. само снятие токенов должно делаться в юзкейсе, тогда и юзкейс независем и в адаптер не протекла бизнес логика

Rostislav Teryaev
получается, что сама информация откуда пришел запр...

Рядом, но не совсем. Информация, откуда пришел запрос используется бизнес логикой для определения количества снятых очков. Значит эта информация должна поступать в тот код, который реализует бизнес логику.

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

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

Добрый день. Хочу сделать отрисовку по команде на панели. Почему-то рисуется только при втором вызове. С чем может быть связано, не подскажете? procedure TForm1.FormDblClick(...
Kirill Filippenok
20
а зачем этот вопрос для удаления из чата?
Mёdkinson Medvezhkin
63
А почему в си некоторые вещи работают с двойными кавычками некоторые с одинарными? Нельзя было все сделать с одними или чтоб работало с разными? например чтоб выводить строки ...
.
15
Всем привет! Нужен совет от опытных. Переношу свой проект с Делфи 10.2 Токио на Лазарус 3.2 установленный через инсталлятор fpcupdeluxe-x86_64-win64. При импортировании проект...
Дмитрий Завгородний
7
Всем привет! procedure TForm1.FormCreate(Sender: TObject); type TStartEnd = record S: Byte; E: Byte; end; var a, b: TStartEnd; begin {1} a.S := 1; {2} a.E := 2; ...
Руслан Михайлович
10
Всем привет!) я тут новенький и пытаюсь освоить evolution методом тыка. У меня при переходе между папками файлов выскакивают вот такие уведомления Можете подсказать как их от...
Диман Samoed
10
Эх кто-то пришел и весь праздник испортил :( You need complex FBX scene importing setup to change things on import? good luck with that. You need navigation and pathfinding? g...
Serg Gini
5
Всем привет! Подскажите. Я написал приложение на Delphi 10.2 Tokyo под Windows 10. И передо мной стал вопрос о том чтобы сделать это приложение кроссплатформенным (под Linux и...
Дмитрий Завгородний
24
Какого хера? /Sources/App/Modules/User/Models/UserLinkApple.swift:21:20: warning: stored property '_id' of 'Sendable'-conforming class 'UserLinkApple' is mutable @ID(...
Alexander Sherbakov
14
Привет всем. Подскажите где можно посмотреть, какая версия электрон, поддерживает версии windows? Некий changelog. Мне бы желательно, поддержку 7,8,10... latest, как понимаю и...
Anonym Squad
21
Карта сайта