1.1 关于微软基础类MFC
在VisualC++2.0以后的版本中,Microsoft公司推出了MFC(Microsoft Foundation Class)类库。MFC随微软Visual C++ 开发平台发布,以一系列C++类集的形式提供给程序设计人员使用,为程序员提供一个面向对象的Windows编程接口。MFC的实质是提供了一种基于Windows系统的应用程序框架(Application Framework),该框架具有高效运行的特性,也是一些资深的程序员认为无所不能的开发工具。使用MFC类库的好处是,可以简化应用程序的开发,从而缩短开发周期,而且代码的可靠性和可重用性也大大提高。首先,MFC提供了一个标准化的应用程序框架,这样开发人员不必从头设计创建和管理一个标准Windows应用程序所需的所有代码,而是“站在巨人肩膀上”,从一个比较高的起点编程,故节省了大量的时间;其次,它提供了大量的代码,指导用户编程时实现某些技术和功能。对用户来说,用MFC开发的最终应用程序具有标准的、熟悉的Windows界面,这样的应用程序易学易用;另外,新的应用程序还能立即支持所有标准Windows特性,而且是用普通的、明确定义的形式。很多读者可能已经有了使用MFC的经验,并对MFC编程有了浓厚的兴趣。这里,我们首先从分析MFC的应用程序框架开始,分析如何采用面向对象的技术来设计CAD软件的程序框架和软件模块结构。
什么是应用程序框架?一种定义是“提供一个一般应用程序所需要的全部面向对象的软件组件的集合”。应用程序框架设计的好坏与否,直接决定了程序功能的实现难易程度和软件开发与维护的代价高低。任何一个应用程序从本质上来说都是对数据的操作,因此,一个好的程序框架结构就意味着对应用数据管理上的友好安全和处理上的简便通用。应用程序框架的实例很多,工程应用的计算机辅助设计/制造/分析(Computer Aided Design/Manufacturing/ Engineering,CAD/CAM/CAE)软件多采用文档与视图相结合的程序框架。本章将结合MFC提供的应用程序的文档/视图结构这一工程软件的常见框架进行阐述和分析。为了便于阐述,在本书中,作者将一个应用于快速原型制造系统(Rapid Prototyping Manufacturing,RPM)的CAD/CAM软件作了大量简化,去除了主要的专业功能,使之成为一个浅显易懂的三维CAD示例软件贯穿全书,整个软件系统和模块设计均采用了面向对象的编程技术。在本章中,将具体分析这一三维CAD软件的模块化结构设计,使读者对工程CAD软件的应用程序框架设计有一定的理解和认识;同时,本章也在例程中讲解了基于MFC的有关动态链接库的具体创建和使用过程,以期加强读者的理解和实际开发能力。
以下的各章中,通过循序渐进地介绍,读者将可以对以下主要技术有所掌握:
(1)面向对象的编程技术。
(2)软件的结构及模块化设计。
(3)动态链接库的开发与应用。
(4)几何计算基础类库的开发。
(5)CAD软件的界面设计和交互操作。
(6)CAD系统的几何内核设计。
(7)基于OpenGL的CAD模型显示。
(8)开发面向Windows应用程序的OpenGL C++类库等。