Size: a a a

Software Design/Architecture/Zen

2021 November 09

SP

Sergey Protko in Software Design/Architecture/Zen
отправь чуваку письмо мол "сорян но вы вроде уже зареганы, если забыли пароль вот ссылка"
источник

A

Alexander in Software Design/Architecture/Zen
Ну пусть это будут одинаковые логины, а не емейлы
источник

SP

Sergey Protko in Software Design/Architecture/Zen
в подавляющем большинстве случаев сложность такого подходя для "регистрации" того не стоит. В кейсе с бутылками уже не уникальность а экслюзивность. это другое
источник

A

Alexander in Software Design/Architecture/Zen
Ну такой себе ux
источник

SP

Sergey Protko in Software Design/Architecture/Zen
в этом случае тоже самое. добавляем, смотрим дубли, если есть - меняем юзернейм и добавляем суфикс, уведомляем чела. eventual consistency
источник

A

Alexander in Software Design/Architecture/Zen
Так может это как раз кейс для сервиса?
источник

SP

Sergey Protko in Software Design/Architecture/Zen
ну так у тебя ж скорее всего на UI была проверка занят email/username иил нет. Вот там весь твой UX.
источник

SP

Sergey Protko in Software Design/Architecture/Zen
да, ток я не люблю "доменными сервисами" это называть.
источник

A

Alexander in Software Design/Architecture/Zen
Допустим нет
источник

SP

Sergey Protko in Software Design/Architecture/Zen
ну тогда у тебя плохой UX в любом случае как бы ты не сделал)
источник

A

Alexander in Software Design/Architecture/Zen
wap 2.0 ¯\_(ツ)_/¯
источник

A

Alexander in Software Design/Architecture/Zen
А как называть?
источник

SP

Sergey Protko in Software Design/Architecture/Zen
ну у меня такие вещи на ивентах (если юзер новый появился - проверить юзернейм и поправить если че не так) - я такие вещи называю политики (policy)
источник

SP

Sergey Protko in Software Design/Architecture/Zen
они же process managers по сути ток более общее название
источник

SP

Sergey Protko in Software Design/Architecture/Zen
источник

SP

Sergey Protko in Software Design/Architecture/Zen
p.s. это далеко не единственный вариант такое сделать просто оч хорошо ложится на всякие eventual consistency и мне так удобно воспринимать потоки данных. Как цепочки ивент - действия
источник

SP

Sergey Protko in Software Design/Architecture/Zen
но я на всякий случай напомню - это имеет смысл там где "сложно" (там где гонки, там где бизнес логика часто меняется, там где нужны эксперементы). Тупой круд должен осаваться тупым крудом. Не надо тянуть сложные вещи в generic domain (лучше вообще взять from the shelf софт готовый). Всякие профили юзеров, регистрации и прочее в 99% ситуаций это тупо insert/update/etc и лучше юзать доступные инструменты (uniq constraint например или key value или еще чего - форсить на уровне стораджа)
источник

A

Alexander in Software Design/Architecture/Zen
Понял. Спасибо. Вообще мне в голову не приходит кейс, где уникальность логина нельзя проверить в рамках транзакции даже без средств бд
источник

AI

Arthur Irgashev in Software Design/Architecture/Zen
А как ты без бд это проверишь ?
источник

AI

Arthur Irgashev in Software Design/Architecture/Zen
Или ты наоборот о том, что без бд нельзя проверить ?
источник