我有以下问题:我正在设计游戏并总结让我们说我有三个类:
一些“用例”
我能让这个工作的唯一方法是,玩家知道PowerPlants和Units,但每个PowerPlant和Unit都知道他的玩家/所有者,以便他们可以双向沟通。
我不知何故认为这是一种代码味道......当我遇到类似的情况时,我总是遇到麻烦。
提前致谢。
答案 0 :(得分:5)
我在多个场合遇到过这个问题,而你所说的并不一定是反模式,但确实增加了不必要的复杂性。
YMMV,但在我的情况下,我并不是真的想在这些不同的班级之间建立直接的关系,而是在事情发生时通知对方的方式,所以我找到的更清洁的方式是有一个活动经理(或者任何其他类型的回调机制)将所有逻辑部分粘合在一起。有了这个工具,我发现我可以摆脱所有那些简化了层次结构的双重引用。