J'essaie de trouver un moyen de faire ce qui suit: lorsque mon application s'ouvre, il va charger une vue de grille de données en souscrivant à ma couche de données observable. Ce que j'essaie de comprendre est comment je peux faire une sorte de mutation de données à cette vue de la grille, comme cacher un élément de la grille quand un utilisateur clique sur le bouton caché, ou trier les éléments .. puis avoir la couche de données envoyer le mise à jour des données à n'importe quelle liste. Mon but est que je veux que n'importe quelle classe soit capable de faire cette manipulation et que cette nouvelle mise à jour de données se propage à tous les ConnectableObservers
. Donc, idéalement, je pourrais juste appeler un cas d'utilisation dans ma couche de domaine, et avoir cette poignée en sauvegardant les données dans ma couche de données, puis j'appellerais tous les écouteurs avec mes nouvelles données mises à jour.Comment puis-je déclencher un modèle pour donner de nouvelles données lors d'une sauvegarde
Le problème que je rencontre est que je n'arrive pas à penser à un moyen d'appelerNext de mes couches de données observables sans réabonnement.
est ici un code pseudo explication de ce que je veux dans ma couche de domaine:
gridRepository.hidElement(someId).onCompleteDo({action -> gridRepository.getGridData()})
Où gridRepository
est juste une interface à ma couche de données et hideElement()
doivent retourner un Observable.
Cela devrait alors déclencher le suivant sur mon abonné de couches de présentation, donc ma vue de grille se met à jour avec les données nouvellement modifiées. Mon objectif sous-jacent est de retirer cette logique d'une implémentation de bus d'événement dans ma couche de présentation et d'avoir cette logique dans mon domaine, car je peux envahir certains de ces états de données en affectant d'autres couches que la présentation , il serait donc utile d'avoir un lieu d'expédition central pour ces événements.
Side Note: Je construit mon application hors de cette structure de projets, parce que je pense qu'il a une élégance à elle, mais elle ne résout pas tout la façon dont je voudrais que ce. : https://github.com/android10/Android-CleanArchitecture
Toute aide avec ceci ou suggestions serait grandement appréciée.