深入浅出MFC“文档/视图”架构(1)――基本概念
2009-02-11 20:00:40 来源:WEB开发网核心提示: 本文所有的代码基于WIN32平台开发,调试环境为Visual C++6.0,深入浅出MFC“文档/视图”架构(1)――基本概念(2),2.架构MFC“文档/视图”结构被认为是一种架构,关于什么是架构,则需理解如下两个问题:(1)学习这个架构,并学会在这个架构上造房子
本文所有的代码基于WIN32平台开发,调试环境为Visual C++6.0。
2.架构
MFC“文档/视图”结构被认为是一种架构,关于什么是架构,这是个“仁者见仁,智者见智”的问题。在笔者看来,成其为架构者,必具备如下两个特性:
(1)它是一种基础性平台,是一个模型。通过这个平台、这个模型,我们在上面进一步修饰,可以得到无穷无尽的新事物。譬如,建筑学上的钢筋混凝土结构、ISO(国际标准化组织)的OSI(开放式系统互连)七层模型。架构只是一种基础性平台,不同于用这个架构造出的实例。钢筋混凝土结构是架构,而用钢筋混凝土结构造出的房子就不能称为架构。
这个特性强调了架构的外部特征,即架构具有可学习、可再生、可实例化的特点,是所有基于该架构所构造实例的共性,是贯串在它们体内的一根“筋”,但各个基于该架构所构造的实例彼此是存在差异的。
(2)它是一个由内部有联系的事物所组成的一个有机整体。架构中的内部成员不是彼此松散的,并非各自“占山为王”,它们歃血为盟,紧密合作,彼此都有明确的责任和分工,因此共同构筑了一个统一的基础性平台、一个统一的模型。譬如,OSI模型从物理层到应用层进行了良好的合作,虽然内部包含了复杂的多个层次,但仍然脉络清晰。
由此可见,架构的第2个特性是服务于第1个特性的。理解架构,关键是理解以上两个特性。而针对特定的“文档/视图”结构,则需理解如下两个问题:
(1)学习这个架构,并学会在这个架构上造房子(编写基于“文档/视图”结构的程序);
(2)理解这个架构内部的工作机理(文档模板、文档、视图和框架窗口四个类是如何联系为一个有机整体的),并在造房子时加以灵活应用(重载相关的类)。
更多精彩
赞助商链接