J'ai récemment tombé sur Clean Architecture, par Oncle Bob, et je suis curieux de savoir si les Interacteurs peuvent exécuter d'autres Interacteurs. Par exemple, ce sont mes Interacteurs à ce jour: getEmptyAlbums, getOtherAlbums. Les deux ont des rappels qui retournent avec une liste d'albums (une liste d'objets d'un modèle d'album) respectivement.Architecture propre: combiner des interacteurs
Suis-je autorisé à avoir un Interacteur appelé getAllAlbums qui exécute les deux Interacteurs précédents dans son bloc d'exécution?
@Override
public void run() {
getEmptyAlbums.execute();
}
void onEmptyAlbumsReceived(ArrayList<Album albums){
getOtherAlbums.execute;
}
void onOtherAlbumsReceived(ArrayList<Album albums){
mMainThread.post(new Runnable() {
callback.onAlbumsReceived(albums);
}
});
(Je viens de lancer une recherche pour cette question) et se penchait "Oui" en raison du principe DRY. Je peux voir un objet 'Interactor' (cas d'utilisation) créant un nouveau' RequestModel' et le passant à un objet 'Interactor' séparé. Cependant, comme vous l'avez dit, il y a "très peu de choses sur le sujet". – emeraldinspirations
J'ai utilisé des interacteurs qui exécutaient d'autres interacteurs pour éviter que mes couches de présentation ne soient trop confuses et trop volumineuses et ne rencontrent aucun problème en tant que tel. –
Je le vois de la même manière. Pour un exemple plus détaillé sur ce sujet, voir https://plainionist.github.io/Implementing-Clean-Architecture-UseCases/ – plainionist