如何解决游戏架构:类泄漏到几乎所有文件中
我们目前遇到的问题是,我们的主类GameController
被拉到游戏中的每个后端文件中。我们想知道有什么常见的解决方案。
关于游戏架构的更多信息。该游戏是棋盘游戏,因此由于大约90-95%的时间没有任何事件发生,因此该游戏的设置更像是其他API。它等待用户提示,收到消息后,将味精分配给游戏的各个组件,并执行适当的逻辑。没有大的更新循环,仅在出现提示时执行逻辑。
问题在于,随着此味精在系统中级联,GameController
的作用更像是系统之间的中继点。这是节点之间相互通信的方式,以便正确更新所有游戏组件。问题在于它创建了一个系统,其中所有新/旧类都包含指向parentGame
的指针,因此GameController
无处不在。
是否有任何简单的体系结构解决方案来避免让每个类都包含指向parentGame
的指针?这一定是一件坏事吗?
一些示例代码:
class GameController {
bank: Bank
action: Action
...
}
class Bank {
parentGame: GameController
constructor(game: GameController) {
this.parentGame = game
}
}
class Action {
parentGame: GameController
constructor(game: GameController) {
this.parentGame = game
}
}
解决方法
我不认为这一定是一件坏事,但是您可以通过将其包装在中间的某种事件处理机制中来清理它,换句话说,pub/sub可能会您想要一些去耦。
不必是通过外部消息传递服务进行通信的任何内容,它只会带来不必要的开销。 Observer Pattern在我脑海中浮现。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。