私はMVCを初めて使用します。これまでのところ、各Webリクエストは独立しており、コントローラーでは通常、新しいModelオブジェクトを作成し、データソースからロードします。これは、DBに対して作業し、必要なモデルオブジェクトをロードする場合に最適です。
しかし、私のデータソースがライブのリアルタイムストリーミングデータであり、ユーザーがボタンをクリックしたときに、ストリームから取得した最後のデータをユーザーに提供する必要がある場合はどうなりますか?
私が考えることができる最も簡単な例は、株式データです。
取引所に接続し、株価のライブフィードをサブスクライブするデータソースオブジェクトがあり、クライアントが[最後の見積もりを取得]ボタンをクリックしたときに、取得した最新の価格を返す必要があるとします(注:クライアントにデータをストリーミングする必要はありません。クライアントがクリックしたとき、または5秒ごとなどにスナップショットを返すだけです。
つまり、アプリケーションが静的データソースオブジェクトの作成を開始したら、それを取引所に接続してフィードのリッスンを開始し、価格が変更されるたびに、ローカル変数とコントローラーに保存します。静的データソースを呼び出して最後のティックを要求するだけです(ローカル変数の値が返されます)。
私の質問が明確であることを願っています。簡単かもしれませんが、MVCでの正しいパターンはわかりません。何か案は?