в базе, а в апишке соседнего микросервиса. По ходу своей жизни она может бросать разные события - некое подобие доменных событий. Как правильно организовать эти события при удалении этой сущности? Как я понимаю, сама сущность ничего не должна знать о том, что её удаляют. Но если мне при удалении сущности нужно, например, сделать какие-то действия со штуками, которые хранятся в её полях, то как быть? Кидать событие из того места, которое отвечает за удаление сущности?
Хороший вопрос, присоединяюсь к слушанью ) я думал сделать метод initRemoveEvents в сущности при удалении генерирующий ивент/ивенты, который вызывался бы удаляющим сервисом, но думаю херня.
Ну я думаю, что это сомнительный ход ибо сущность не должна знать что там кому нужно делать после того, как её удалили. Это вроде как не её дело
фактически эти ивенты может кидать кто угодно кто знает что что-то произошло, не обязательно сущность. Там скорее сложность в том что ивент всеравно должен лежать в списочке пока не закоммитили транзакцию что бы представлять правду. Мол по post flush отправлять все накопленные события.
Согласен поэтому и подразумевал, что херня. Но тут дело в том, что она и не знает. Она генерит ивент "я удаляюсь" со своими свойствами. Просто если генерить снаружи, то не получить доступ к свойствам + надо выкинуть ее уже после флаша, тоже не совсем понятно как. Если только сервис который ее удаляет сгенериит ивент который будет обратываться после как флаша совместно с обработкой доменных событий.
а какие могут быть свойства у ивента что оно удаляется?)
Кейс с изображением и физ удалением
мол у тебя информация о физическом месторасположении файла внутри? и больше ничего нет?
Ну да, простой кейс: сущность картинка и именем файла внутри. Если я удаляю сущность я теряю информацию о физ расположении изображения. А какие есть еще варианты?
У меня аналогичная ситуация, только картинка не одна, а пачка
Ну иу меня пачка
Обсуждают сегодня