1、 MVC的做用是把UI、Data、Logic分离解藕,理论上设计良好地MVC可以随意替换View或Model而不用改动其它代码。
2、 Model为程序提供必要的数据接口,如:数据库、本地文件、内存数据、网络数据等。它不关心是什么对象使用数据,而只关心数据对外的接口和数据内部访问实现以及在数据变化时如何通知组其它要用到此数据的对象。
3、 View为用户交互界面,如:HTML+JS的页面、Qt设计的Wigit或终端显示。它只关心Model对外提供的数据接口并在Model发送数据变化时能将变化反应到相应的UI上。
4、 Controler响应用户的输入并将变化反应到Model中。而Model数据的改变则会引发View的刷新。
5、 在一些简单的界面中也可以把View和Controler实现在同一对象中,这样可以简化代码的结构,同时也并不影响UI与Data的分离。
6、 当然对那些实在是太简单的界面完全没必要分成MVC,例如一个简单的配置输入对话框、一个MessageBox。