0

我有两个类:GUIGame,分别处理 GUI 逻辑和游戏逻辑。

我应该做一个GUIin的实例Game,还是一个Gamein的实例GUI

如果它有任何区别:它是Java。

更多解释:

我正在用 Java 制作一个生命克隆游戏,但在更新我的 GUI 时遇到了一些问题。在继续解决这些问题之前,我想知道使用 GUI 的正确方法是什么。

4

2 回答 2

4

两者都不。

我建议您按照Model-View-Controller习惯用法构建您的应用程序。

游戏状态(模型)和它的视觉表示(视图)不应相互依赖。两者都应该由一个控制器(或多个控制器)创建和操作。

这种应用程序设计的优点是您可以轻松地更改其中一个组件(甚至完全替换它们),而无需接触另一个组件。

于 2012-11-23T13:41:50.573 回答
3

通常,您可以将您的应用程序视为分层的。可以假设 UI 层位于应用程序层的“之上”。关于依赖关系,这是相互影响的,因此UI可以依赖Game, bot 而不是相反。

你可以这样想——“我应该能够改变哪一部分而不强迫另一部分也改变?” 我的猜测是,您希望能够在UI不更改Game. 反过来,它的意义就大大降低了。因此,结果再次是UI应该依赖于Game并包含对它的引用。

编辑:关于 MVC 架构。使用 MVC 并不意味着视图只能通过控制器从模型中检索它的值。应该使用控制器更改值,但视图通常仍然具有对模型的引用来显示它。控制器通常对模型显示没有附加价值。

于 2012-11-23T13:41:02.620 回答