我正在寻找一段时间,但我想这里没有任何问题,我真的可以找到我的问题的答案。避免循环依赖的模式
我正在使用java编写基于文本的RPG游戏,我的地图被分割成几个区域,保存在数据库中,因为数据量过大,无法存储到内存中。总是有一个区域加载其中包含*字段。每个领域可以包含0 .. * NPC,物品,道具,...
现在我的问题是,每次玩家走到一个领域,该领域(也许在其邻居)上的所有NPC应该可见,这使得将NPC参考保存在字段中变得非常谨慎。另一方面,NPC应该能够相当自由地移动,如果NPC能够提供他们目前在哪个领域的参考,那么会更容易些。
我现在读了很多关于循环依赖的内容,我很确定这是解决这个问题的最丑陋的方法。我现在想要的是在每个区域存储NPC的参考资料,并在NPC中存储参考资料。这将是一条中间道路,唯一的大问题是将NPC从一个地方移到另一个地方,但至少这不会经常发生。
现在我要求的是某种模式来解决这个问题,或者只是一个好主意,让我走向正确的方向。如果有人能帮助我,我会很高兴。
谢谢
这一个好主意,但我想将玩家所在的整个区域加载到内存中以避免性能问题。我猜如果我每次玩家移动时都会提出一个查询,并且还想在玩家位置周围的地区找出NPC,这将需要很多时间。我想知道没有更好的选择。 – Grochni 2013-04-29 21:08:03