Size: a a a

var chat = new Chat();

2021 May 29

D

Dmitry in var chat = new Chat();
логин же может быть и неудачный.
при получении ответа, если ответ ок - команду на запись удачной попытки.
если ответ не ок - команду за запись неудачной попытки.
потом ещё может быть запрос сколько было неудачных попыток за последний час и блокировка аккаунта, если что )
источник

D

Dmitry in var chat = new Chat();
а сделать это в вызывающем сервисе или внутри  LoginQuery... не знаю.
я бы внутри делал, хоть это и запрос, а не команда.
источник

D

Dmitry in var chat = new Chat();
просто это часть процесса. зачем её "снаружи" оставлять?
источник

OP

Olexiy Palindromer in var chat = new Chat();
Так, викидати частину процесу назовні — виглядає поганою ідеєю. Але й порушувати принцип CQRS — також не добре. От і виникає дилема.
источник

OP

Olexiy Palindromer in var chat = new Chat();
О, з'явилася ще одна ідея — скористатися event-ами. Тобто сповістити систему про те, що був здійснений логін, після чого навісити на цю подію потрібний обробник. Але це рішення також виглядає не дуже.(
источник

D

Dmitry in var chat = new Chat();
чому не дуже?
от наприклад при запиті сталася помилка? ти не будеш логувати її, бо в тебе запит, а потрібно зберегти лог в кудись?
івент мені здається ок ідея.
источник

Ɖ

Ɖrēw in var chat = new Chat();
Если ты боишься читерства, то в сингле можно забить на это, пусть все играют как хотят
источник

Ɖ

Ɖrēw in var chat = new Chat();
Это наоборот скорее плюс будет
источник

Ɖ

Ɖrēw in var chat = new Chat();
Кто то любит играть с читами, это не будет мешать другим игрокам в любом случае
источник

Ɖ

Ɖrēw in var chat = new Chat();
Короче, я бы забил просто
источник

Ɖ

Ɖrēw in var chat = new Chat();
Я бы скорее сделал ставку не на шифрование, а на хранение в таком виде, который можно легко десериализовать, в плане скорости
источник

Ɖ

Ɖrēw in var chat = new Chat();
Чтобы загрузка была максимально быстрой
источник

Ɖ

Ɖrēw in var chat = new Chat();
Какой то быстрый бинарный формат
источник

Ɖ

Ɖrēw in var chat = new Chat();
Мб что то вроде протобафа
источник

Ɖ

Ɖrēw in var chat = new Chat();
Да
источник

OP

Olexiy Palindromer in var chat = new Chat();
На мій погляд, це не дуже, оскільки викликатиметься query-метод, а в результаті змінюватиметься стан системи.

А щодо логування — то я без зайвих турбот додавав би його будь-який query-метод, оскільки логування, по-перше, є дуже легкою операцією, а по-друге, воно не змінює стан основної системи.
источник

D

Dmitry in var chat = new Chat();
тому багато бачив api, в яким метод контроллеру Login це Post, а не Get
зроби з логіну команду, а не запит
источник

D

Dmitry in var chat = new Chat();
якщо вхід змінює стан системи, тоді це команда
источник

OP

Olexiy Palindromer in var chat = new Chat();
Ну, Login у будь-якому випадку повинен бути Post, щоби логін-пароль не передавалися в самому url.)
источник

OP

Olexiy Palindromer in var chat = new Chat();
Гаразд, мабуть, найрозумнішим буде дійсно перетворити подібний метод у команду.
источник