In an iOS VIPER project, there is a need to call a remote service (e.g. refresh token + check user login ) in every module. What is the best practice of implementing this need?
Can we have multiple interactors per module?
Or Should we implement the same business logic in every module (interactor)?
Should we separate interactors from modules (like network) and share between modules as they needed?
In most samples I studied, they usually talk about different business logic, not the same ones!
Everyone has his own viper!! This is a common architecture. Each team uses different approaches to its use. And even for one team, they can vary depending on the project. I think you need to find a compromise between convenience and architecture. Each developer and for each project has its own best practice in building dependencies. p.s. in accordance with the architecture, all communication with the network / disk comes from the interactor. it can be organized in different ways and this has nothing to do with VIPER. The creation of a network service or the reuse of interactor etc. depends on your ..... desires)