12

ゲームをシングル プレイヤーからマルチプレイヤーに更新しています。この場合、ゲームは最初、ほとんどのクラスが単一インスタンス化されて作成されました。たとえば、1 つの Player オブジェクト、1 つの GameState オブジェクトなどがありました。つまり、これらのオブジェクトはそれぞれ、アプリケーションが存続する限り存在していました。

一度に複数のプレイヤーがプレイできるようになったので、複数の Player オブジェクト、 GameState オブジェクトなどの作成をサポートする必要があることは明らかです。

  1. ナビゲーションを処理するコンダクターなど、アプリの寿命
  2. プレーヤーの寿命、たとえば現在のプレーヤーの SettingsViewModel
  3. 現在のゲームの GameState など、ゲームの寿命

IoC コンテナーを使用して、これらのさまざまなオブジェクトの作成を他の人がどのように処理しているかに興味があります。プレーヤーまたはゲームの寿命を持つクラスごとにファクトリ クラスを作成することは避けたいと考えています。

4

4 に答える 4

0

これは、役立つ可能性のある IOC の例ですプロジェクトは IOC-with-Ninject と呼ばれます。Ninject と IOC コンテナー クラスを使用して、すべてのオブジェクトの寿命を管理します。特定のニーズに合わせてカスタマイズするには、Ninject について少し調査する必要がありますが、.NET を使用している場合、これは IOC コンテナー ソリューション (IMHO) であり、コード ベースを整理するのに役立ちます。これは個人的な選択ですが、私はそれを誓います。.NET を使用していない場合でも、従うのが簡単なパターンが得られます。乾杯。

于 2013-09-10T13:40:58.493 に答える