2

オブザーバーパターンでMVCを使用し、ユーザーアクションでデバイス(カメラなど)のデータのポーリングが必要な場合、ポーリングをコントローラーで実行して結果をモデルから渡すか、モデルとモデルにリクエストを送信する必要があります。モデル自体がポーリングを実行します。

この質問は、「スキニーコントローラー」の格言を宣伝する私が読んでいるすべてのものを、モデルはデータを取得せずにデータにのみ作用するべきであるという私の直感と一致させる試みです。

(注:この質問は主観的なものである可能性があります。この質問に対する正解が1つあるかどうかは完全にはわかりません。そうでない場合は、この件に関する意見を聞くことに非常に興味がありますので、タグを付け直してください。)

4

3 に答える 3

1

コントローラはポーリングを実行する必要があります。モデルは私の頭の中の状態のスナップショットなので、カメラの状態をコントローラーからモデルに渡す必要があります。

于 2008-10-21T15:55:35.820 に答える
1

それはコントローラーに属します。モデルには情報とビジネスルールが含まれ、コントローラーは基本的にユーザー、情報、またはビジネスルール以外のすべてへのインターフェイスであり、ビューはユーザーの操作を処理します。

ビューがこれも制御できると主張する人もいるかもしれません。カメラのモデルとドライバーはユーザーが決定するため、その領域に該当する可能性があります。

しかし、モデルに周辺機器のインターフェースがあるとは思いません。

-アダム

于 2008-10-21T15:56:46.440 に答える
1

コントローラの下とモデルの上に薄いサービスレイヤーを追加できます。これにより、周辺コードへのすべてのアクセスを1か所にまとめることができます。

于 2008-10-21T16:00:38.977 に答える