文档视图架构编程

文档视图架构编程

ID:34772904

大小:562.63 KB

页数:42页

时间:2019-03-10

文档视图架构编程_第1页
文档视图架构编程_第2页
文档视图架构编程_第3页
文档视图架构编程_第4页
文档视图架构编程_第5页
资源描述:

《文档视图架构编程》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、MFC文档/视图架构编程理解了MFC文档视图类的意义及它们纵横交错的关系也就理解了“文档/视图”结构的基本概念,在此基础上,我们再进一步研究“文档/视图”结构的MFC程序消息流动的方向,这样就完全彻底明白了基于"文档/视图"结构MFC程序的“生死因果”。“文档/视图”结构是MFC中结构最为复杂,体系最为庞大,而又最富有特色的部分,其中涉及到应用、文档模板、文档、视图、SDI窗口、MDI框架窗口、MDI子窗口等多种不同的类,如果不了解这些类及其盘根错节的内部联系的话,就不可能编写出高水平的文档/视图程序。  学习"文档/视图"结构

2、的意义还不只于其本身,通过该架构的学习,一步步领略MFC设计者的神功奥妙,也将进一步增强我们自身对庞大程序框架的把握能力。  一个优秀的程序员是可以写出一个个优秀函数的程序员,而一个优秀的系统设计师则需从全局把握软件的架构,分析和学习"文档/视图"结构将是我们成为软件系统设计师之旅的一个重要阶段。第一讲基本概念  MFC引入了"文档/视图"结构的概念,理解这个结构是编写基于MFC编写复杂VisualC++程序的关键。MFC"文档/视图"结构被认为是一种架构,关于什么是架构,这是个"仁者见仁,智者见智"的问题。引言  MFC引入了

3、"文档/视图"结构的概念,理解这个结构是编写基于MFC编写复杂VisualC++程序的关键。"文档/视图"中主要涉及到四种类:  (1)文档模板:classCDocTemplate;//templatefordocumentcreationclassCSingleDocTemplate;//SDIsupportclassCMultiDocTemplate;//MDIsupport  (2)文档:classCDocument;//maindocumentabstraction  (3)视图://viewsonadocumentcl

4、assCView;//aviewonadocumentclassCScrollView;//ascrollingview  (4)框架窗口://framewindowsclassCFrameWnd;//standardSDIframeclassCMDIFrameWnd;//standardMDIframeclassCMDIChildWnd;//standardMDIchildclassCMiniFrameWnd;//half-heightcaptionframewnd  理解了这4个类各自的意义及它们纵横交错的关系也就理解了"文

5、档/视图"结构的基本概念,在此基础上,我们还需要进一步研究"文档/视图"结构的MFC程序消息流动的方向,这样就完全彻底明白了基于"文档/视图"结构MFC程序的"生死因果"。  出于以上考虑,本文这样组织了各次连载的内容:  第1次连载进行基本概念的介绍,第2~5次连载分别讲述文档模板、文档、视图和框架窗口四个类的功能和主要函数,连载6则综合阐述四个类之间的关系,接着以连载7讲解消息流动的方向,最后的连载8则以实例剖析连载1~7所讲述的所有内容。  本文所有的代码基于WIN32平台开发,调试环境为VisualC++6.0。在本文的

6、连载过程中,您可以通过如下方式联系作者(热忱欢迎读者朋友对本文的内容提出质疑或给出修改意见):  作者email:21cnbao@21cn.com(可以来信提问,笔者将力求予以回信解答);  另外,对本文的转载请务必注明作者和出处。未经同意,不得用于任何形式的商业目的。  架构  MFC"文档/视图"结构被认为是一种架构,关于什么是架构,这是个"仁者见仁,智者见智"的问题。在笔者看来,成其为架构者,必具备如下两个特性:  (1)它是一种基础性平台,是一个模型。通过这个平台、这个模型,我们在上面进一步修饰,可以得到无穷无尽的新事物

7、。譬如,建筑学上的钢筋混凝土结构、ISO(国际标准化组织)的OSI(开放式系统互连)七层模型。架构只是一种基础性平台,不同于用这个架构造出的实例。钢筋混凝土结构是架构,而用钢筋混凝土结构造出的房子就不能称为架构。  这个特性强调了架构的外部特征,即架构具有可学习、可再生、可实例化的特点,是所有基于该架构所构造实例的共性,是贯串在它们体内的一根"筋",但各个基于该架构所构造的实例彼此是存在差异的。  (2)它是一个由内部有联系的事物所组成的一个有机整体。架构中的内部成员不是彼此松散的,并非各自"占山为王",它们歃血为盟,紧密合作,

8、彼此都有明确的责任和分工,因此共同构筑了一个统一的基础性平台、一个统一的模型。譬如,OSI模型从物理层到应用层进行了良好的合作,虽然内部包含了复杂的多个层次,但仍然脉络清晰。  由此可见,架构的第2个特性是服务于第1个特性的。理解架构,关键是理解以上两个特性。而

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。