書籍では、iOS でのゲームの設計は MVC パターンを使用して行われていると少し混乱しています。だから私たちは持っています
Interface Builder によって行われる表示、およびコントロールのプロパティ/値 (アウトレットとして) とイベント ハンドラー (アクションとして) の接続の描画
残り時間や現在のプレイヤー (人間のプレイヤー) のスコアなど、ゲームの状態を格納するモデル
ビューがロードされた後に実行されるコントローラーは、モデルのデータをビューに入力し、ゲームのタイマーを設定し、ユーザーによる画面のタップなどを処理し (イベント ハンドラー)、タイマー イベントのイベント ハンドラーを実装します。 .
これは理にかなっていますが、 と呼ばれる 4 番目のクラスもありますComputerPlayer
。これは、人間のプレイヤーが推測する単語を作成し、人間のプレイヤーが推測する残りの単語数を伝えるなど、ゲームのルールとメカニズムを処理するクラスです。人間のプレイヤーが推測する次の単語を提供します。 (更新: この ComputerPlayer は Model クラスによって 100% 使用されます... Model コードは ComputerPlayer オブジェクトをインスタンス化し、それを呼び出します)。
この MVC モデルに余分なクラスがある理由がよくわかりませんComputerPlayer
。Model
これをクラスの一部、またはクラスの一部にしないのはなぜController
ですか?
(Ruby on Rails の MVC パターンと比較すると、ヘルパーのように見えます。しかし、ヘルパーは主に View コードによって呼び出されます。)