Web サーバーと通信し、そこからデータを世界中に公開するライブラリを作成したいと考えています。Web サーバーは特別なものではなく、いくつかの REST メソッド (主に GET と POST) を公開します。
私は Reactive Extensions に比較的慣れていないので (しかし、既に気に入っています)、アドバイスをお願いします。ライブラリのインターフェイスが IObservables を公開することにしました。しかし、これを正確に実装する方法がわかりません。私はいくつかのオプションがあると考えています:
1) 公開しIObservable<IEnumerable<T>>
ます。当然のことながら、REST サービスは要求されたすべてのデータを一度に返します。ユーザーが Subscribe() を呼び出し、IEnumerable が 1 つだけプッシュされ、OnDone が呼び出されます。そのため、Subscribe() を複数回呼び出す必要があります。
2) 公開しIObservable<T>
ます。場合によっては良い選択かもしれません。Subscribe() は 1 回だけ呼び出され、他のデータを取得するために、メソッド Refresh() または NextPage() (...) があり、ストリームにさらにデータを取得します。IObservable<T> GetResource...
(その場合、プロパティの代わりに、IObservable<T> Resource { get; }
3)Rxを忘れて、イベントを介して昔ながらの方法で実行します(最悪の場合IMO)
4) 他の方法は?
この分野で経験のある人はいますか?私が懸念しているのは、更新 (新しいデータの要求)、ページング、結果の結合、および一般的に保守しやすい設計です。
アドバイスがあればthx