MVCでは、自律型周辺機器との相互作用はモデルまたはコントローラーに属しますか?
-
03-07-2019 - |
質問
MVCをオブザーバーパターンで使用し、ユーザーアクションでデータのデバイス(カメラなど)のポーリングが必要な場合、コントローラーでポーリングを行い、結果をモデルから渡すか、リクエストをモデルとモデル自体がポーリングを実行します。
この質問は、「スキニーコントローラー」を宣伝する、私が読んでいるすべてのものを調整しようとする私の試みです。モデルはデータを取得せずに動作するだけであるという直感に沿った格言です。
(注:この質問は主観的かもしれません。この質問に対する正解が1つあるかどうかは完全にはわかりません。もしそうでない場合は、お気軽にタグを付け直してください。主題についての意見を聞きたいと思う。)
解決
コントローラに属します。モデルには情報とビジネスルールが含まれ、コントローラーは基本的にユーザー、情報、またはビジネスルールではないすべてのものへのインターフェイスであり、ビューはユーザーインタラクションを処理します。
ビューもこれを制御できると主張するかもしれません-カメラのモデルとドライバーはユーザーによって決定される可能性があり、したがってその領域に分類されます。
しかし、私はモデルに周辺機器インターフェースがあるとは思わないでしょう。
-アダム
他のヒント
コントローラーはポーリングを実行する必要があります。モデルは私の心の状態のスナップショットであるため、カメラの状態はコントローラーからモデルに渡される必要があります。
コントローラーの下とモデルの上に薄いサービスレイヤーを追加できます。これにより、周辺コードへのすべてのアクセスを1か所に配置できます
所属していません StackOverflow