我开始学习编程,并创建了一个简单的二十一点控制台游戏。现在我正在尝试使用 swing/JFrame 创建一个 GUI,并决定同时尝试学习 MVC 基础知识。我遇到了这个java / gwt UI coding - clean code关于MVC
我的问题是,在玩家击中“击中”后,应如何准确地向 View 通知玩家手牌的变化。
如果用户想要点击,hitBtn(在 VIEW 中) -> actionListener()(在 CONTROLLER 中) -> hit()(在 MODEL 中)
- hit() would than modify the nessessary model classes
(i.e. DealtCards, Deck, Cards objects)
View 应该如何知道模型已更改,更基本的是 View 应该如何显示模型类中的数据,例如玩家的手?。在模型类中使用 getter 方法或从模型到 Controller 再到 View 的传递? (我的印象是 View 不应该对模型有任何引用)
谢谢!
最佳答案
用于通知 View 有关模型更改的信息:
1.PropertyChangeListener
2. Controller 可以充当 View 和模型之间传播更改的桥梁。
我不认为不从 View 引用模型总是 Not Acceptable 。如果模型类型有清晰的接口(interface)并且隐藏了实际的实现,则 View 可以引用它。
另请查看data binding ,虽然是 SWT,但该方法是独立于实现的。
关于java - 基本 MVC - 简单 Java 程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8586233/