加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

java – 处理多个对象时的良好编程风格

发布时间:2020-12-15 00:03:46 所属栏目:Java 来源:网络整理
导读:我一直在编程一个棋盘游戏的软件版本.到目前为止,我已经写了与游戏板上物理对象相对应的类.我很好地编写程序逻辑,但是我发现许多逻辑类需要访问相同的对象. 起初我正在把适当的对象传递给被调用的方法,但是这变得非常繁琐,特别是当这些方法需要很多对象来执
我一直在编程一个棋盘游戏的软件版本.到目前为止,我已经写了与游戏板上物理对象相对应的类.我很好地编写程序逻辑,但是我发现许多逻辑类需要访问相同的对象.

起初我正在把适当的对象传递给被调用的方法,但是这变得非常繁琐,特别是当这些方法需要很多对象来执行它们的任务时.为了解决这个问题,我创建了一个初始化和存储我需要的对象的类.这允许我通过调用Assets.dice()来访问任何类的对象.

但是现在我已经考虑过了,这似乎不对.这就是为什么我在这里,我害怕我创造了一些上课.这个恐惧是没有根据的,还是我创造了灾难的食谱?

解决方法

你基本上陷入了单身形态.在很大程度上,这是一个坏的模式.通过允许您的任何应用程序的任何部分几乎可以随时访问这样的全局数据,您最终会遇到难以维护,调试和最重要的测试代码的意大利面.

我认为最好创建一个包含当前骰子,片段等的“上下文”,并根据需要将上下文传递给需要使用它的方法/类.这很干净,虽然是的,但是到处都是要痛苦的.但是,您可以获得优势,您可以跟踪谁在访问上下文,并且还可以创建模拟上下文以进行测试.如果将上下文传递到高级对象中,并且必须将上下文传递给其子组件,那么从头到尾知道上下文以及它来自哪里.

此外,理想情况下,让Context变得不可改变是很好的.这可能是不可能的.但是,如果您可以创建一个捕获当前状态并且是不可变的新上下文,那么您可以从应用程序中减少更多惊喜.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读