我想我理解MVC的基本概念--模型包含应用程序的数据和行为,视图负责向用户显示它,Controller处理用户输入。我不确定的是控制器到底是怎么回事。
例如,假设我有一个相当简单的应用程序(我专门考虑Java,但我认为同样的原则也适用于其他地方)。我将我的代码组织成3个包,名为app.model、app.view和app.controller。
在app.model包中,我有几个类反映了应用程序的实际行为。这些extends Observable并使用setChanged()和notifyObservers()在适当的时候触发要更新的视图。
app.view包有一个类(或用于不同类型显示的多个类),它使用javax.swing组件来处理显示。其中一些组件需要反馈到模型中。如果我正确理解,视图不应该与反馈有任何关系--这应该由Controller来处理。
那么我到底在控制器里放了什么呢?我是否只调用Controller中的一个方法就将public void actionPerformed(ActionEvent e)放在视图中?如果是的话,是否应该在主计长中进行任何验证等?如果是这样的话,我如何反馈错误信息回视图--应该再次通过模型,还是控制器应该直接将其发送回View?
如果验证是在视图中完成的,那么我应该在Controller中添加什么?
很抱歉有这么长的问题,我只是想把我对这个过程的理解记录下来,希望有人能帮我澄清这个问题!
https://stackoverflow.com/questions/1015813
复制相似问题