Java 这是一个合适的MVC国际象棋(GUI)模型吗?

Java 这是一个合适的MVC国际象棋(GUI)模型吗?,java,user-interface,model-view-controller,chess,Java,User Interface,Model View Controller,Chess,我正在制作一个Java国际象棋游戏作为一个uni项目,我基本上是从一个使用GUI的玩家那里获得移动 我的游戏有几个类,但主要的类是棋子类、HumanPlayer类和GraphicalDisplay类 我所做的基本上是,当HumanPlayer想要移动时,它当前使用一个名为PieceController的类,该类使用PieceModel类和GraphicalDisplay类作为模型和视图 问题是,我必须编写代码来设置,例如,模型类中国际象棋网格(包含在称为cellHolder的二维数组中)中某些单

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

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

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

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

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

我真的想不出另外一种方法来做到这一点,而不必分享(或作为论点传递)手机持有者

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

请查看此链接


关于Java中的设计模式,这个模式被称为“适配器模式”。。它基本上是一种软件设计模式,允许从另一个接口使用现有类的接口!我经常看到有人说MVC模式有点过时,但是在那篇文章之前,我还没有找到可以替代(或添加功能)MVC模式的东西。如果这听起来很愚蠢,我很抱歉,但你是在建议用适配器设计替换我目前的MVC设计,还是将它们结合使用?当然,你不必替换所有的设计:D。。您只是试图理解这个概念,然后修改您的设计以与之匹配