作者:quke.cn |
分类:VC/C++| GAE的第三方上传工具SDUpload。 |
| 获取谷歌地图当前位置坐标 |
| 图解SDBlog1.0Beta。 |
| VS2008安装时与Office2007的冲突 |
| 关于 |
| 留言本 |
| SDBlog介绍-开始提供下载了。 |
| VS2008中使用SVN的方法 |
| Python中文全攻略 |
| c++中抽象类、虚函数和纯虚函数的学习 |
VIEW/DOC结构号称是MFC的MVC结构,网上对此褒贬不一;我最近在最个小项目时在此处报错,不得不回头来吧他搞个清楚。
刚开始学习MFC,总是搞不清变量以及消息响应函数等究竟应该放在什么地方,感觉放在哪里都是一样的。就百度了一下,汇报结果如下:
首先是来自于百度知道的:http://zhidao.baidu.com/question/55308058.html
回答一:
document/view模式,是为了在逻辑上,让数据和显示分开。
一般在document里,定义document类的成员变量,来存数据,并用View来显示。
在document里,当成员变量的数据改变时,你可以用UpdateAllViews()来通知视图更新。
在View里,用GetDocument来获取与之对应document的指针,进而可以访问document的成员变量,从而进行显示Document/View仅仅是MFC为你提供的一种很好的支持而已
这里提到了两个函数UpdateAllViews()和GetDocument(),是用来建立两个类之间的联系的,很有用!
回答二:顾名思义,View类是用来做前台显示,Doc类负责数据的处理,在View类进行绘制或者显示的时候是需要数据的,那么这些数据需要一个管理者--他就是Doc类。
回答三:一般先写文档内的代码。要显示的绘制的写再view里。
又搜到一个在CSDN中的提问,http://topic.csdn.net/t/20030321/20/1561381.html
有下面一个回答:
Document/View结构,在单文档情况下,表现的优势不太明显,可是在文件的保存读取,和多种显示的话,就具有很多的好处。将显示和数据分离开来。
搜到一篇短文章:MVC结构模式与MFC Doc/View结构
文章出处:DIY部落(http://www.diybl.com/course/3_program/vc/vc_js/2007114/83639.html)
在MFC中实现经典的MVC结构,如下图所示:
注意:
1、Document和View之间的绑定:View绑定到Document。
2、Frame作为Controller时,由于可以接收到输入消息,比较适合充当控制器。但是,由于视图和文档绑定,所以在切换视图时需要将视图和文档分离开,然后再进行切换。
3、View作为Contrller时,由于该视图和文档是绑定的,所以,可以通过该视图将其他视图与文档关联起来,其他视图并不直接和文档绑定。因此,可以通过隐藏和显示视图来实现不同视图之间的切换。
4、MFC的Doc/View结构本质上就是MVC结构,是MVC结构的一种实现,但是对MVC结构进行了简化。先这么多,以后再补充……
地址:http://hi.baidu.com/abaostudy/blog/item/735e01d62356220ba18bb7e1.html

固定链接:http://www.quke.cn/log-355.html
2010-01-22 5:16 PM |
浏览:
评论: