私は自分のコードで Observable と Rx を時々使用していますが、「プッシュ モデル」とその使用に関して、まだこの質問があります。
たとえば、次の簡単なコードがあるとします。
private readonly static List<string> numbers = new List<string>
{
"1",
"2",
"3",
"4",
"5"
};
static void Main(string[] args)
{
PrintCollection();
Console.ReadLine();
numbers.Add("6");
Console.ReadLine();
}
private static void PrintCollection()
{
IObservable<string> observable = numbers.ToObservable();
observable.Subscribe<string>(x => { Console.WriteLine(x); });
}
プログラムが実行されると、ObservableCollection のようなものを使用して「CollectionChanged」イベントをフックしない限り、1 ~ 5 のみが出力されますが、6 は出力されません。しかし、これでは「プッシュモデル」とは一体何なのだろうか。「プッシュ モデル」とは、データ (コレクション) がイベントをサブスクライブすると、そのコレクションに新しく追加されたすべてのデータも同じイベントにサブスクライブされることを意味すると常に考えていました。
また、Observable を使用して私が見たほとんどの例は、WPF、ビューモデル駆動型の実装であるように思われます。バックエンド処理に使用したことがある人はいますか?その典型的な例は何でしょうか?