静的コンテキストでTileHandlerを呼び出すことが最善の設計ではない理由は、それがなければ分離できる可能性がある設計のコンポーネントを結合するためです。
将来複数のTileHandlerを使用することを選択した場合、この変更に対応するために多くの作業を行う必要があります。
TileHandlerを削除する場合は、この変更に対応するために多くの作業を行う必要があります。
将来、現在のTileHandlerとは異なる方法でタイルを処理する別のレベル/ゾーンを構築するとします。次に、使用するタイル処理のメソッドを指定する方法が必要か、別のハンドラーを呼び出す必要があります。
TileHandlerがパラメーターとしてそれを使用するオブジェクトに渡された場合は、次に別のものを単に渡すか、後でそれを使用するオブジェクトに別のタイルハンドラーを設定することができます。
個人的には、静的なコンテキストからXNAゲームの多くのものにアクセスし、それらを複数持つことはないと思います。
次のゲームでゲームエンジンコードを再利用できるようにしたい場合は、現在静的として記述しているものの多くを書き直さなければならないでしょう。
要するに:
静的コンテキストを使用しない方がよい:
オブジェクトをできるだけパラメーターとして渡すと、ゲーム要素が分離され、現在または将来のプロジェクトでオブジェクトをより簡単に変更/再利用できるようになります。また、大量のコードの複雑さを少し簡単に管理することもできます(大規模なゲームのゲームクラスに何百もの静的マネージャーがあると考えてください)。
静的コンテキストを支持して:
静的コンテキストからオブジェクトを宣言してアクセスすると、数百の静的マネージャーを必要としない小さなゲームを簡単に作成できます。代わりに静的にアクセスされる1つ以上の追加パラメーターを必要としないことにより、多くのメソッドとコンストラクターを簡素化します。