maleks писал(а): ↑2019.10.08, 09:48
Ну может и не TS там будет если он тонкой останется надстройкой над вызовами AR методов.
Ну да, транзакции внутри методов AR. Задача формы - проверить данные и, если все нормально, передать управление дальше.
maleks писал(а): ↑2019.10.08, 09:48
Где бы вы например письмо стали отсылать(модератору) при добавлении нового поста? К событиям AR бы этим глобально привязывались?
Я обработчики событий делаю либо через статический Event::on() либо в behavior для AR. Ничего плохого ни в том ни в другом не вижу, и там и там обработчик можно протестировать отдельно. В тестах самой AR behavior с обработкой событий всегда можно отключить.
P.S в AR все подряд засовывать не надо, только то что меняет ее состояние (или состояние агрегата в целом) или вычисляет что-то на основе этого состояния и при этом не приводит к излишнему повышению связанности (каждый случай надо рассматривать индивидуально, но есть общие признаки). Дополните свой пример кейсом, где в сервисе будет бизнес-логика с зависимостью, тогда я смогу дополнить свой форк сервисом или поместить зависимость в AR (зависит от кейса), постараюсь описать правила, которыми я руководствуюсь при решении как распределить поведение между AR и сервисами.