gpt4 book ai didi

oop - 两个互相认识的对象

转载 作者:行者123 更新时间:2023-12-04 03:11:06 25 4
gpt4 key购买 nike

我有以下问题:我正在设计一个游戏并总结一下,假设我有三个类:

  • 播放器
  • 发电厂
  • 单位

  • 一些“用例”
  • 玩家必须知道他有多少单位和动力装置。如果已达到限制,则不应 build 更多的单位/动力装置(即玩家必须拥有属于他的每个元素的引用)
  • Units从Player请求能量,Player从PowerPlants获取能量并发送给Units
  • 玩家必须知道什么时候一个单位或发电厂被摧毁(即单位和发电厂必须能够通知玩家他们已经被摧毁)

  • 我能让这个工作的唯一方法是玩家知道发电厂和单位,而且每个发电厂和单位都知道他的玩家/所有者,这样他们就可以以两种方式进行交流。

    我不知何故认为这是一种代码气味......当我遇到类似情况时,从长远来看,我总是遇到麻烦。

    提前致谢。

    最佳答案

    我在多个场合遇到过这个问题,你所说的不一定是反模式,但它确实增加了不需要的复杂性。

    YMMV,但就我而言,我真的不想在这些不同的类之间建立直接关系,而是一种在发生某些事情时相互通知的方式,所以我发现的更简洁的方法是拥有一个事件管理器(或任何其他类型的回调机制)将所有逻辑部分粘合在一起。有了那个工具,结果证明我可以摆脱所有那些简化层次结构的双重引用。

    关于oop - 两个互相认识的对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20594421/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com