我正在尋找一段時間,但我想這裏沒有任何問題,我真的可以找到我的問題的答案。避免循環依賴的模式
我正在使用java編寫基於文本的RPG遊戲,我的地圖被分割成幾個區域,保存在數據庫中,因爲數據量過大,無法存儲到內存中。總是有一個區域加載其中包含*字段。每個領域可以包含0 .. * NPC,物品,道具,...
現在我的問題是,每次玩家走到一個領域,該領域(也許在其鄰居)上的所有NPC應該可見,這使得將NPC參考保存在字段中變得非常謹慎。另一方面,NPC應該能夠相當自由地移動,如果NPC能夠提供他們目前在哪個領域的參考,那麼會更容易些。
我現在讀了很多關於循環依賴的內容,我很確定這是解決這個問題的最醜陋的方法。我現在想要的是在每個區域存儲NPC的參考資料,並在NPC中存儲參考資料。這將是一條中間道路,唯一的大問題是將NPC從一個地方移到另一個地方,但至少這不會經常發生。
現在我要求的是某種模式來解決這個問題,或者只是一個好主意,讓我走向正確的方向。如果有人能幫助我,我會很高興。
謝謝
這一個好主意,但我想將玩家所在的整個區域加載到內存中以避免性能問題。我猜如果我每次玩家移動時都會提出一個查詢,並且還想在玩家位置周圍的地區找出NPC,這將需要很多時間。我想知道沒有更好的選擇。 – Grochni 2013-04-29 21:08:03