2014-01-09 126 views
0

我尝试用模型 - 视图 - 控制器模式在Java中创建一个简单的游戏。MVC游戏设计Java

我目前执行的是

型号

  • Country
  • Timer
    • 可观察
  • Money
    • 可观察
    • 包含地图<国家,整数>
    • 增加金钱上更新由定时器

控制器

  • Server
    • 增加了桂观察员金钱和定时器
    • 静态的国家名单

查看

  • ServerGui

    • 启动服务器
    • 得到金钱和定时器更新
    • 自身添加到服务器获得观察员更新
    • 开放PlayerView
  • PlayerGui

    • 有一些国家
    • 显示当前时间和每个国家的钱

截图:

screenshot of the Game World

是我目前的执行正确的MVC实现?

有什么,你会改变?

回答

1

这是一门艺术,因为它是一门科学,但对我来说有一点是这样的:你的模型为什么包含一个Timer?不应该在控制器中吗?如果你想改变模型来支持模拟,那么该怎么办?

但是你应该坚持任何适合你的设计。模式的重点在于使代码更易于维护,而使代码更易于维护的最佳方式是将其设计为对需要处理代码的人员有意义的方式。既然那是你,你应该做任何有意义的事情,而不是互联网上的陌生人。

+0

但模式思想的一部分是鼓励实现中的标准化。这样,新开发人员就可以相处,认清模式,并立即对代码的作用有个很好的认识。所以,当你的建议很好时,开发人员一定要记住新的贡献者。 – christopher

+0

@Chris同意。我只是不知道,对于新手强调严格遵守模式(尤其是上面这些看起来合理的模式),当他们仍然在学习基础知识时,有多少价值。 –

+0

100%同意。我的评论更多的是希望在生产/商业环境中实施他们的模式的人的利益。另外,在早期阶段,让人们意识到他们可能面临的潜在挑战总是很好的。 – christopher