商品のアレンジメントを作成しようとした際に問題が発生しました。私はTerrainと呼ばれる項目で構成されたボード上で行われるゲームを作成しています。ボード上の各地形は、それ自身に固有のプロパティと関係を持つ独自のアイテムです。地形生成の重要な部分は、各空間が隣接するタイルを参照できるようにすることです。また、そのような実装の最終的な必要性も後で予測していますので、今私はそれを克服したいと思います。リレーショナルアウェアネス
私が直面している主な問題は、マトリックスの各メンバーがお互いに気づき、全体としてどのように関係しているか分かりません。それがどのように機能するかについてのいくつかの洞察を得るために、デザインは二重になっています。
最初に、すべてのメンバーを含む一般的なコレクションがあります。各メンバーは、生データとコレクション内のアイテムの位置の両方を含む独自の汎用アイテムに含まれています。
最も重要な基準は、大きなコレクションを検索してオブジェクトを関連付けることができないということです。私はそれぞれのアイテムに関連するすべてのネイバーへの参照が含まれている必要があり、そのリファレンスからそのネイバーを編集できるようにし、それらのアイテムの更新ですべての再帰を避ける必要があります。
私は基本的に1対1のリレーションシップとほぼ同じものをデータベースから作成しようとしています。そのため、1つの場所にしか存在しませんが、データベースの類推のレコードのような同僚からアクセスできます。
これは有効な解決策ではありませんか?コレクションを検索する必要はないと言いましたが、あなたがこれを意味するのかどうかはわかりません。 –
いいえ、これは残念ながら有効な解決策ではありません。なぜなら、マトリックスの各メンバーは独自の他のアイテムとの相対的な位置は関係なく、手動で参照する必要があるためです。 あなたが記述していることは、各タイルがすべての他のタイルを含んでいない限り、問題の特定の側面を解決しませんが、それぞれの更新は再帰的な更新の問題につながります。それを含んでいないすべてのセットのセットのようなその子供。自身をインクルードしないように更新するたびに、それ自身をインクルードするように更新する必要があり、スタックは決して解決しません – Azeranth