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

Would this be a suitable MVC chess (GUI) model?

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

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

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

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

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

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

对如何改进当前的 MVC 设计有什么建议吗?

勾选这个linkhttp://www.tutorialspoint.com/design_pattern/adapter_pattern.htm

关于设计模式 Java 这个叫做 "the Adapter Pattern" .. 它基本上是一种软件设计模式,允许从另一个界面使用现有 class 的界面