【问题标题】:Would this be a suitable MVC chess (GUI) model?这会是一个合适的 MVC 国际象棋 (GUI) 模型吗?
【发布时间】:2015-05-13 19:48:03
【问题描述】:

我正在将 Java 国际象棋游戏作为一个 uni 项目制作,我基本上是从使用 GUI 的玩家那里获得的。

我的游戏有几个类,但主要的类是 Pieces、HumanPlayer 和 GraphicalDisplay 类。

我基本上在做的是,当 HumanPlayer 想要移动时,它目前正在使用一个名为 PieceController 的类,它使用 PieceModel 类和 GraphicalDisplay 类作为模型和视图。

问题是我必须编写代码来设置,例如,MouseListeners 到模型类中国际象棋网格中的某些单元格(包含在一个名为 cellHolder 的二维数组中)。这是因为包含向单元格添加侦听器的代码也会更改数据的状态,然后用于在 GUI 中显示游戏。

这导致了一个问题。 cellHolder 对象是在 GraphicalDisplay (GUI) 类中创建的,但它也在模型中使用,因此模型使用来自视图的数据。

如果不必共享(或作为参数传递)cellHolder,我真的想不出另一种方法。

关于如何改进当前 MVC 设计的任何建议?

【问题讨论】:

    标签: java user-interface model-view-controller chess


    【解决方案1】:

    查看此链接http://www.tutorialspoint.com/design_pattern/adapter_pattern.htm

    关于设计模式 在 Java 中,这被称为“适配器模式”。它基本上是一种软件设计模式,允许从另一个接口使用现有类的接口

    【讨论】:

    • 谢谢!我总是看到有人说 MVC 模型有点过时了,但是在那篇文章之前我还没有找到可以替代(或添加功能)到 MVC 模式的东西。
    • 抱歉,这听起来很愚蠢,但您是建议用适配器设计替换我当前的 MVC 设计还是一起使用它们?
    • 您当然不必替换所有设计 :D .. 您只是想了解这个概念,然后修改您的设计以匹配它
    猜你喜欢
    • 1970-01-01
    • 2013-05-24
    • 2015-05-02
    • 1970-01-01
    • 2022-06-17
    • 1970-01-01
    • 2014-03-02
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多