我想我理解MVC的基本概念——模型包含应用程序的数据和行为,视图负责将其显示给用户,控制器处理用户输入。我不确定的是,控制器中到底有什么。
例如,我有一个相当简单的应用程序(我特别想到了Java,但我认为同样的原则也适用于其他地方)。我把我的代码组织成3个包,称为app.model
,app.view
和app.controller
。
在app.model
包中,我有几个反映应用程序实际行为的类。这些extends Observable
并使用setChanged()
和notifyObservers()
来触发视图在适当的时候更新。
app.view
包有一个类(或用于不同类型显示器的几个类),该类使用javax.swing
组件来处理显示器。其中一些组件需要反馈到模型中。如果我理解正确的话,视图不应该与反馈有任何关系-反馈应该由控制器处理。
那么我实际上在控制器中放了什么呢?我是否只需调用控制器中的一个方法,就可以将__abc0放在视图中?如果是,是否应在控制器中进行任何验证等?如果是这样的话,我如何将错误消息反馈回视图-应该再次通过模型,还是控制器应该直接将其发送回视图?
如果验证是在视图中完成的,我应该在控制器中放什么?
很抱歉问了这么长的问题,我只是想记录下我对这个过程的理解,希望有人能为我澄清这个问题!