Мда. Тут я немного запутал вас. Поскольку у нас на проекте ддд и не пахнет, то для меня это просто на интерес, ибо уже давно реализовано в лоб. Популярность нужна во write модели. Когда по каким то причинам удаляют(unpublish) что-то популярное, то мы должны как-то среагировать. Либо не удалять, а поставить в какой-то список для модератора, либо удалить, но тоже как-то уведомить человека.
Популярность зависит от от шарингов в фейсбук, от количества пришедших с этих шарингов. Все это считается отдельной системой и во write модели этому места особо нет, но вот вдруг понадобилось изменить поведение в зависимости от этого. В данной конкретной ситуации это решилось просто обработчиком PostWasDeleted эвента, но мне интересны другие возможные ситуации, когда допустим у популярного поста нельзя менять заголовок.
Думаю, самое здравое решение в данной ситуации - это действительно денормализованное поле popular, которое будет считаться какнибудь по крону, юзая данные из той системы и просто напрямую ставя setPopular
Популярность зависит от от шарингов в фейсбук, от количества пришедших с этих шарингов. Все это считается отдельной системой и во write модели этому места особо нет, но вот вдруг понадобилось изменить поведение в зависимости от этого. В данной конкретной ситуации это решилось просто обработчиком PostWasDeleted эвента, но мне интересны другие возможные ситуации, когда допустим у популярного поста нельзя менять заголовок.
Думаю, самое здравое решение в данной ситуации - это действительно денормализованное поле popular, которое будет считаться какнибудь по крону, юзая данные из той системы и просто напрямую ставя setPopular