0

学校向けに開発しているアプリについて簡単な質問があります。私のアプリには、ユーザーがプレイできる 5 つのユニークなゲームがあります。ただし、各ゲームにはノーマルとハードの 2 つのモードがあります。これを行うための最良の方法は何ですか。現在、私は最初のゲームを 2 つの別個のビュー コントローラーとして持っており、必要な難易度 (normal_cstars と hard_cstars と呼ばれるもの) に基づいて呼び出されます。各View Controllerには.h、.m、および.xibがあるため、これが効率的かどうか疑問に思っています。2 つの個別のビューを持つビュー コントローラーを使用することは可能ですか。これをどのように達成しますか。

ありがとう、

ライアン・ウォン

4

2 に答える 2

0

2 つの別々のビューが必要だと本当に思いますか? (あなたのゲームについてはわかりませんが)

ゲーム モードはモデル固有であるため、動作が「ノーマル」または「ハード」のモデルは、実際にはビューでゲームをレンダリングします。

近い将来、モード「Easy」を実装したい場合、別のView Controllerになってしまい、コードの冗長性が発生する可能性があります。

私が考える解決策:

  • モデル オブジェクトの合成パターンに対する継承を作成します。
  • ビューコントローラーはより一般的になり、モードに基づいてレンダリングするようにビューに指示します
  • モデルの基本クラスはジェネリック メソッドを実装し、モデルにはコンポジションとしてのモードがあるため、ビューはそれに基づいてゲーム オブジェクトをレンダリングします。

利点?-まあ、オープンクローズの原則に違反していません。

繰り返しますが、これを実現するためのさまざまな設計パターンがあります。要件に最適なものを決定するのはあなた次第です。

于 2013-10-31T03:06:32.047 に答える