我有以下问题:我正在设计一个游戏并总结一下,假设我有三个类:
一些“用例”
我唯一能使它起作用的方法是,玩家了解PowerPlants和Unit,但每个PowerPlant和Unit也了解其Player/Owner,以便他们可以通过两种方式进行通信。
我以某种方式认为这是一种代码味道...当我处于类似情况时,从长远来看,我总是遇到麻烦。
提前致谢。
最佳答案
我曾在多个场合遇到过这个问题,您所说的不一定是反模式,但确实会增加不必要的复杂性。
YMMV,但就我而言,我并不是真正希望在这些不同的类之间建立直接关系,而是希望在发生某些事情时互相通知,因此我发现的更简洁的方法是使用事件管理器(或其他任何一种回调机制)将所有逻辑部分粘合在一起。有了这个工具,事实证明我可以摆脱所有重复引用,从而大大简化了层次结构。