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

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

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

23 ответов

90 просмотров

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

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
получается, что сама информация откуда пришел запр...

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

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

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

30500 за редактор? )
Владимир
47
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
вы делали что-то подобное и как? может есть либы готовые? увидел картинку нокода, где всё линиями соединено и стало интересно попробовать то же в ddl на lua сделать. решил с ч...
Victor
8
Подскажите пожалуйста, как в CustomDrawCell(Sender: TcxCustomGridTableView; ACanvas: TcxCanvas; AViewInfo: TcxGridTableDataCellViewInfo; var ADone: Boolean); получить наз...
A Z
7
Ребят в СИ можно реализовать ООП?
Николай
33
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Как передать управляющий символ в открытую через CreateProcess консоль? Собсна, есть процедура: procedure TRedirectThread.WriteData(Data: OEMString); var Written: Cardinal;...
Serjone
1
Он в одиночку это дело запилил или была какая-то команда?
Aquinary
12
~ 2m21s  nix shell github:nixos/nixpkgs#stack ~  stack ghc -- --version error: … while calling the 'derivationStrict' builtin at /builtin/derivation.nix:...
Rebuild your mind.
6
Всем привет, нужна как никогда, нужна помощь с IO в загрузчике. Пишу в code16 после установки сегментных регистров, пишу вывод символа. Пробовал 2 варианта: # 1 mov $0x0E, %a...
Shadow Akira
14
Карта сайта