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

Коллеги, такой момент. Представим что у нас есть профиль пользователя в

БД, а также статусы модерации.

Статусы модерации у нас реагируют и записываются в поле при таких условиях, если имя и фамилия заполнены, то статус модерации На модерации, а если нет, то и статуса нет, также если у нас статус появляется на профиле На модерации, то приходит смс уведомление пользователю, если админ вручную через админку меняет статус модерации на статус Успешная модерация, то также приходит смс уведомление.

Подскажите, где лучше всего написать такую логику работы с профилем и его данными, на стороне приложения и языке программирования приложения, то есть будет запросов куча к бд либо это логику написать на стороне БД с помощью SQL, напистаь условия и тем самым данные приходят в БД 1 запросом, а бд уже решает ставить статус или нет, а в случаем смс уведомлений сделать евент события которые отправляются на приложение и тригерят функцию отправки смс уведомления?

3 ответов

22 просмотра

Я бы моделировал, используя ДДД. Получился бы сервис с REST'ом для сохранения имени и фамилии. В бизнес-логике агрегат Профиль сохранял бы эти данные в базу. При сохранении имени или фамилии кидать event, по которому бы работала логика проверки и отправки смс. Смс отправлять через адаптер (в терминах ДДД). Отвечая конкретнее на твой вопрос, я бы реализовывал бизнес-логику в коде, а в базе были бы только select'ы и insert'ы.

Sergey P
адаптер это термины ДДД? интересно)

Да, тут косячокс… адаптер - это из гексагоналной архитектуры. Ддд и гекс так ловко дополняют друг к друга, что я соединил.

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

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

30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
Как передать управляющий символ в открытую через CreateProcess консоль? Собсна, есть процедура: procedure TRedirectThread.WriteData(Data: OEMString); var Written: Cardinal;...
Serjone
6
в JclConsole объявлено так: function CtrlHandler(CtrlType: DWORD): BOOL; stdcall; - где ваше объявление с stdcall? у вас на картинке нет stdcall
Karagy
8
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
~ 2m21s  nix shell github:nixos/nixpkgs#stack ~  stack ghc -- --version error: … while calling the 'derivationStrict' builtin at /builtin/derivation.nix:...
Rebuild your mind.
6
Карта сайта