Je développe une application Android avec MVP et RxJava. Eh bien, j'ai un doute:MVP + RxJava - Placer les planificateurs dans le présentateur ou dans l'interacteur?
Quand je crée mon présentateur et interacteur je peux me mettre ordonnanceurs dans le présentateur, comme ceci:
ordonnanceurs dans le présentateur
Présentateur:
override fun tryLogin(username: String, password: String) {
mLoginInteractor.login(username, password)
.subscribeOn(Schedulers.newThread())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(object : Subscriber<User>(){
[...]
}
Connexion Interactor:
override fun login(username: String, password: String) =
mRetrofit.create(ApiClient::class.java).login()
Ou je peux définir les ordonnanceurs dans le Interactor, comme ceci:
ordonnanceurs dans le Interactor
Présentateur:
override fun tryLogin(username: String, password: String) {
mLoginInteractor.login(username, password)
.subscribe(object : Subscriber<User>(){
[...]
}
Connexion Interactor:
override fun login(username: String, password: String) =
mRetrofit.create(ApiClient::class.java).login()
.subscribeOn(Schedulers.newThread())
.observeOn(AndroidSchedulers.mainThread())
Je vois que Google conseille de définir des Schedulers dans l'Interactor. Vous pouvez le voir dans ce lien:
https://github.com/googlesamples/android-architecture/tree/todo-mvp-rxjava/
Mais beaucoup de gens mettre le code dans le présentateur, comme dans cet exemple:
Alors, Est-ce que je mets ordonnanceurs dans le Présentateur ou dans l'interacteur?
(je pense qu'il est une meilleure idée de mettre dans le présentateur que le travail Intractor est seulement pour obtenir les données, mais peut-être que je me trompe ...)
Je suis d'accord. Merci! –