Всем привет, есть такой вопрос: есть "сущность", которая хранится не

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

10 ответов

3 просмотра

Хороший вопрос, присоединяюсь к слушанью ) я думал сделать метод initRemoveEvents в сущности при удалении генерирующий ивент/ивенты, который вызывался бы удаляющим сервисом, но думаю херня.

E- Автор вопроса
Павел Г.
Хороший вопрос, присоединяюсь к слушанью ) я думал...

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

фактически эти ивенты может кидать кто угодно кто знает что что-то произошло, не обязательно сущность. Там скорее сложность в том что ивент всеравно должен лежать в списочке пока не закоммитили транзакцию что бы представлять правду. Мол по post flush отправлять все накопленные события.

E
Ну я думаю, что это сомнительный ход ибо сущность ...

Согласен поэтому и подразумевал, что херня. Но тут дело в том, что она и не знает. Она генерит ивент "я удаляюсь" со своими свойствами. Просто если генерить снаружи, то не получить доступ к свойствам + надо выкинуть ее уже после флаша, тоже не совсем понятно как. Если только сервис который ее удаляет сгенериит ивент который будет обратываться после как флаша совместно с обработкой доменных событий.

Павел Г.
Согласен поэтому и подразумевал, что херня. Но ту...

а какие могут быть свойства у ивента что оно удаляется?)

Павел Г.
Кейс с изображением и физ удалением

мол у тебя информация о физическом месторасположении файла внутри? и больше ничего нет?

Sergey P
мол у тебя информация о физическом месторасположен...

Ну да, простой кейс: сущность картинка и именем файла внутри. Если я удаляю сущность я теряю информацию о физ расположении изображения. А какие есть еще варианты?

E- Автор вопроса
Павел Г.
Ну да, простой кейс: сущность картинка и именем фа...

У меня аналогичная ситуация, только картинка не одна, а пачка

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

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

'frakturBold' => ['𝖆', '𝖇', '𝖈', '𝖉', '𝖊', '𝖋', '𝖌', '𝖍', '𝖎', '𝖏', '𝖐', '𝖑', '𝖒', '𝖓', '𝖔', '𝖕', '𝖖', '𝖗', '𝖘', '𝖙', '𝖚', '𝖛', '𝖜', '𝖝', '𝖞', '𝖟', '𝕬', '𝕭', '𝕮', '𝕯'...
Roma
4
Есть полностью собранная база "шрифтов" - подобных символов?
Shen
9
Дорогие друзья, есть тут те, Кто рад поучаствовать в работе и в команде над игровой платформой? Мы делаем игровую и уникальную платформу. Стек платформы Go и React. Нам ...
Александр Цивин :)
2
Короче получается только кнопки не поменять А кнопки вроде тоже слетают при редактировании не?
inc.
10
Тг будет банить бота который принимает донаты без stars? Бот буквально на 10-20 человек
Vexylon
6
а у тя шо за бот?
Андрей
6
Кто сколько за бота берёт? (Я покупать не хочу)
Ivan Aleksandrovich
10
Век живи, век учись и продолжай удивляться Carbon Оказывается, в Carbon дату можно задавать даже текстом 😲 <?php use Carbon\Carbon; $october_date = new Carbon("last sunday o...
Igor
3
или ты хочешь сказать что это по юникоду не дефолтные буквы?
Roma
4
Приветы. Если бот доступен только пользователям из России и Беларуси, старсы для него неизбежны? Как Apple планируется собирать платежи с покупок в сторе на территориях, где у...
Prokhor Chulkov
8
Карта сайта