RxJavaを使用して自分のモデルにプロキシを作成しようとしていますが、このプロキシは他の人がモデルの変更を購読できるようにします。SubscribeしたときにPublishSubjectが発火する
がclass MyModelProxy {
private static MyModelProxy instance;
private MyModel model;
private PublishSubject<MyModel> subject;
private MyModelProxy() {
this.model = // load from cache
this.subject = PublishSubject.create();
}
public static Observable<MyModel> observe() {
if (instance == null) {
instance = new MyModelProxy();
}
return instance.subject;
}
private void modelUpdated() {
this.subject.onNext(this.model);
}
}
システムにおけるMyModel
のインスタンスは1つだけだが、それは時間の経過とともに変更される可能性がある、と私はこれらのアップデートのために登録することができるようにしたい:
は、ここに私のプロキシの簡易版です。
このコードは、observe
メソッドから返されたObservable
に登録してから対象のonNext
を呼び出すとうまくいきます。
私が望む振る舞いは、subscribe
メソッドがこのオブザーバで呼び出されたときに、現在登録されているサブスクライバにMyModel
の現在のインスタンスが送信されるということです。
私はPublishSubject
の延長について考えたが、それは最終的ですので、私は(主にPublishSubject
に何コピーし、私が必要なものを追加することで)それを自分自身のバージョンを書くことについて考えたが、その後、私はそれはですのでSubjectSubscriptionManager
は、パッケージの可視性を持っていることが判明デッドエンドも。
この機能をどのように追加することができますか?
ありがとうございます。
右に将来のすべてのアイテム。ありがとう! –