私は、1つまたは複数の計測器を制御し、そのデバイスのデータを可視化して保存し、ユーザーが何らかの制御データを入力できるようにするPCで実行されるプロジェクトにPRISMライブラリを使用する予定です。デバイスには、さまざまなデジタルセンサーとアナログセンサーとアクターがあります。彼らは異なるタイプと知性を持つことができます。ほとんどの場合、彼らには「真の」インテリジェンスがなく、すべてのコントロールロジックがPCにあります。 この「インテリジェンス」は、デバイスから常にデータを読み取る必要があります。通信は、COMポート、TCP/IPソケット、WebインターフェイスへのHTTPなどさまざまな種類があります。PRISM外部デバイスを制御する
「インテリジェントロジック」のための最良の解決策は何か分かりません。デバイスとの継続的な通信が必要なため、すべてのUIタスクから分離する必要があります。より高いプロセスロジックを構築するためには、バックグラウンドワーカーやスレッドに何らかの種類のステートマシンが必要です。
質問:それは、そのバックグラウンドワーカーへの参照を持つサービスとしてPRISMに登録されたデバイスごとのインスタンスですか?または、そのバックグラウンドワーカーを作成して、表示および編集するデータを処理するために設定された各機器に必要なViewModelにリンクする必要がありますか?または、別の最良のソリューションがありますか?
私は(私は唯一のTCPソケットを持っていた他のMVVMフレームワークと似た何かをやったし、私の解決策は、単一のリスナーに基づいた...これは、特定のPRISMの1以上の一般的なアーキテクチャの質問をSIと思う
あなたの答えのためのthx、Antonello。私はWindowsサービスをインストールしないことを好み、PRISMの共有サービスについてもっと考えました。しかし、はい、質問はかなり一般的なアーキテクチャと見なすことができます – infero
私が提案したパターンは、PRISMの共有通信サービスでも使用でき、バックグラウンドワーカーで実装するだけです。私は、コミュニケーションの問題が発生したときにそれをデバッグするのが簡単であるため、この単一のリスナー・アーキテクチャーを好んでいます。 –