Который будут реализовывать сервисы, а само управление подписками вынести в отдельный класс Emitter, который будет через композицию использоваться в сервисах:
Эту архитектуру можно во Vue интегрировать по аналогии с React. Для этого подписка может быть в методе created, а отписка от изменений beforeDestroy. Сами сервисы можно передавать через метод provide по аналогии с контекстом.
По Angular написать не могу, так как опыта с ним не имел.
Можно сделать интерфейс:
Который будут реализовывать сервисы, а само управление подписками вынести в отдельный класс
Emitter, который будет через композицию использоваться в сервисах:И тогда класс сервиса будет отвечать только за сам сервис, а подписки будут реализованы в другом классе.
Эту архитектуру можно во Vue интегрировать по аналогии с React. Для этого подписка может быть в методе
created, а отписка от измененийbeforeDestroy. Сами сервисы можно передавать через методprovideпо аналогии с контекстом.По Angular написать не могу, так как опыта с ним не имел.