Java – clean architecture: combined with interactors

I recently stumbled upon Uncle Bob's clean architecture. I'd like to know whether the interactors can execute other interactors

For example, so far, these are my interactors: getemptyalbums, getotheralbums Both have callbacks returned in the album list (ArrayList of the album model)

Do I allow an interactor named getallalbums to execute the first two interactors in its run block?

@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);
     }
});

Solution

I've been thinking about the same thing. After finding little about this problem, I came to the conclusion that "yes" may be the best choice

My reasoning is as follows:

>Single responsibility: if you can't aggregate use cases, no one can really take a single responsibility If there is no aggregation, it means that the domain logic will eventually appear in the presentation layer and cannot achieve its purpose. > Dry: use cases can be shared and should be in meaningful places

In order to maintain a single responsibility, I will consider limiting aggregate use cases to only those, that is, executing those use cases and making any final transformation

In view of the age of this problem, I am interested to know which method you adopted and the problems you encountered

The content of this article comes from the network collection of netizens. It is used as a learning reference. The copyright belongs to the original author.
THE END
分享
二维码
< <上一篇
下一篇>>