1

MVVM を使用して C# と xaml でゲームを構築しています。このゲームは、新しいゲーム オプションを備えたメイン メニューで構成されています。[新しいゲーム] ボタンをクリックすると、2 人のプレーヤーの名前を入力して、プレーヤー対プレーヤー ゲームかプレーヤー対コンピュータ ゲームかを選択できる [プレーヤー選択] ページに移動します。その後、ゲーム画面に到着し、ゲームをプレイします。

私の質問は、andやGameなどのプロパティを含むオブジェクトに永続的な情報を保持していることです。インスタンスを静的にして実行する必要がありますか、それともこれを行うためのより良い方法はありますか?Player Player1Player Player 2ReactiveCollection<Tile> TilesGame

4

1 に答える 1

0

ゲームサービスを使用します。

public interface IGameService
{
    Player PlayerOne { get; set; }
    Player PlayerTwo { get; set; }
    Tiles ReactiveCollection { get; set; }
}

次に、ビューモデル/アプリの作成時に、IOC / 依存性注入を使用してサービスをクラスに解決できます。そうすれば、任意のビューモデルで使用できるサービス クラスのシングルトンを作成できますが、分離され、テスト可能です。次に、IGameService を実装するクラスは、ゲームからの情報/データを取得できますが、必要に応じて柔軟にすることもできます。そのサービスを利用するビューモデルを変更することなく、情報の配信方法を変更できます。

于 2013-03-14T16:00:55.283 に答える