Вложенные интеракторы или нет
Есть 2 интерактора AuthInteractor и UserInteractor
После авторизации нужно указать(задать) текущего пользователя через UserInteractor(потому что приложение мультиаккаунтное, и можно залогинится с разных акк, после логина автоматически должен становится активным пользователем).
Сейчас, AuthViewModel отправляет команду авторизации в AuthInteractor, после получения авторизации(там есть информация об ID пользователя) AuthViewModel отправляет команду установки текущего пользователя в UserInteractor.
Такое взаимодействие правильное? Или создать третий интерактор (SuperAuthInteractor) в котором есть AuthInteractor и UserInteractor и все делать внутри SuperAuthInteractor?
Ответы (1 шт):
Архитектура - это штука, которая позволяет быстрее и удобнее разрабатывать. Прикиньте на глаз, какую выгоду Вам может принести переделка логики интеракторов, и сколько такая переделка займет времени и сил. Если считаете, что оно того стоит, то делайте, иначе - оставляйте как есть.
Конкретно в случае с авторизацией, я, например, никаких выгод не вижу. Но если в любом случае планируете крупные работы с авторизацией (ее полный рефакторинг, например), то лучше создать SuperAuthInteractor. Однообразие стиля кода - это тоже плюс.