VC++/MFC中CDocument类如何理解
在看有关的MFC书籍时,对CDocument介绍的都不是很详细,本人经常用到数据处理,很想尽快理解这个类。希望大家讲讲自己对它的理解,以及平时工作时是如何使用它的,那些函...
在看有关的MFC书籍时,对CDocument介绍的都不是很详细,本人经常用到数据处理,很想尽快理解这个类。希望大家讲讲自己对它的理解,以及平时工作时是如何使用它的,那些函数会经常用到。
ps:希望大家分享一下自己的真实编程经验,不要从别处考原文过来。 展开
ps:希望大家分享一下自己的真实编程经验,不要从别处考原文过来。 展开
4个回答
展开全部
MFC中的CDocument类,是文档类。
要理解这个类的作用,首先你要明白MFC中 文档/视图结构 的概念。
文档/视图结构中,将框架窗口(CFrameWnd)、视图窗口(CView)、文档类(CDocument)捆绑到一个“模板”类,形成一个标准的窗口模板CDocTemplate。
这个概念中,认为一个窗口,应该是有“数据支撑“的,也就是需要很多数据、变量,可能需要访问文件、数据库等等,而这些数据和操作,放在视图窗口类是不合理的(因为这些东西不符合窗口元素的概念),而且多视图访问文档类公用数据也会很方便(多视图之间的访问并不方便),同时也避免让视图类过于臃肿庞大。
基于这些理念,MFC设计了一个文档类,专门用于文件操作、序列化操作等,并协助模板类管理视图。
MFC中,一个文档/视图结构,包含了唯一的模板类、唯一的文档类、唯一的框架窗口和一个或多个视图窗口。在任何视图中都可以方便的访问文档类的数据。
要理解这个类的作用,首先你要明白MFC中 文档/视图结构 的概念。
文档/视图结构中,将框架窗口(CFrameWnd)、视图窗口(CView)、文档类(CDocument)捆绑到一个“模板”类,形成一个标准的窗口模板CDocTemplate。
这个概念中,认为一个窗口,应该是有“数据支撑“的,也就是需要很多数据、变量,可能需要访问文件、数据库等等,而这些数据和操作,放在视图窗口类是不合理的(因为这些东西不符合窗口元素的概念),而且多视图访问文档类公用数据也会很方便(多视图之间的访问并不方便),同时也避免让视图类过于臃肿庞大。
基于这些理念,MFC设计了一个文档类,专门用于文件操作、序列化操作等,并协助模板类管理视图。
MFC中,一个文档/视图结构,包含了唯一的模板类、唯一的文档类、唯一的框架窗口和一个或多个视图窗口。在任何视图中都可以方便的访问文档类的数据。
展开全部
Document其实你要联系MVC设计模式来理解(虽然mfc里没有contoller)。。。去看看设计模式的书,推荐head first
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
孙鑫的VC++深入详解的第13章讲解得很详细,建议你下个电子版,直接看第13章
简单的说,该类主要对数据进行存储等读写处理,主要操作在Serialize函数中
一个文档,会有一个文档类,视图类,框架类与之相关联,这三个对象3位一体,一起为文档服务
简单的说,该类主要对数据进行存储等读写处理,主要操作在Serialize函数中
一个文档,会有一个文档类,视图类,框架类与之相关联,这三个对象3位一体,一起为文档服务
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
这个很复杂 串行化在底层的实现很麻烦 楼上说的孙鑫书上第13章讲了 侯俊杰的深入浅出MFC 讲的更为透彻 下个电子书看看吧 当时我头都大了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询