我应该在游戏中制作GUI的实例还是相反?

时间:2012-11-23 13:33:00

标签: java user-interface

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

我应该在GUI中制作Game的实例,还是在Game中制作GUI的实例。

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

更多解释:

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

2 个答案:

答案 0 :(得分:4)

都不是。

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

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

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

答案 1 :(得分:3)

通常,您可以将应用程序视为分层。可以假设UI层在应用层“之上”。关于依赖关系,这是相互关联的,因此UI可以依赖于Game,而不是相反。{/ p>

你可以这样想 - “我应该在不强迫另一个改变的情况下改变哪一部分?”我的猜测是,您希望能够在不更改UI的情况下更改Game。反过来说它没有多大意义。因此,结果将是UI应该依赖于Game并包含对它的引用。

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