私は、次のことを行う方法を見つけようとしています: 私のアプリが開くと、データレイヤの購読によってデータのグリッドビューが読み込まれます観察可能である。私が理解しようとしているのは、ユーザーがhidボタンをクリックするかグリッドアイテムを非表示にしたり、アイテムを並べ替えたりするなど、グリッドビューに何らかのデータ変換を行う方法です。何かのリストにデータを更新しました。私の目標は、どのクラスでもこの操作を行い、その新しいデータの更新をすべてConnectableObservers
に伝播させることです。保存が発生したときにモデルをトリガーして新しいデータを与える方法
ドメインレイヤーでユースケースを呼び出し、そのデータをデータレイヤーに保存して、新しい更新データですべてのリスナーを呼び出すことができれば理想的です。
私が取り組んでいる問題は、再サブスクリプションなしで私のデータレイヤーを観察可能な次のものを呼び出す方法を考えることができないということです。
gridRepository.hidElement(someId).onCompleteDo({action -> gridRepository.getGridData()})
gridRepository
は私のデータ層への単なるインターフェースで
、そしてhideElement()
が観測を返す必要があります:
は、ここで私は自分のドメイン層に何をしたいの擬似コードの説明です。
これにより、プレゼンテーションレイヤのサブスクライバでonがトリガーされ、グリッドビューが新しく変更されたデータで更新されます。
これは私のプレゼンテーションレイヤーでのイベントバスの実装からこのロジックを取り除き、プレゼンテーションレイヤー以外のレイヤーに影響を与えるこれらのデータ状態の一部を侵入する可能性があるため、したがって、これらのイベントのために中央のディスパッチ場所を持つことは有益です。
は側注: 私はそれに優雅さを持っていると思うので、私は、このプロジェクト構造のオフに私のアプリを構築しましたが、それはすべて私がそれを希望の道を解決していません。 :https://github.com/android10/Android-CleanArchitecture
このご意見やご提案をいただければ幸いです。