11
13
2009
0

Dyna Physics Framework 设计

本站文章,皆为原创,如需转载,请注明出处,违者必究

Application Framework 概念解释

Framework 的概念是随着 GUI 图形化应用程序的发展而产生的,由于早期的图形系统都是用面向过程的 C 语言开发,而图形系统中的各个元素趋向于的最终形态是对象化的,因而人们开始使用基于面向对象的语言对图形系统中各种类型的元素进行对象化的封装,称为 Application Framework。

目前,无论是 UNIX 上的 X Windows 系统,或者 Windows 系统,都是采用的消息或类似消息机制的方式实现工作的,消息的目的实际上是将图形系统的创建和管理与程序的实际操作进行了隔离,图形界面与实际的程序之间以消息的方式进行通讯从而实现对于用户看起来是一体化的。所以 Application Framework 的目的就是用面向对象的技术将这些图形系统的创建和管理的功能进行对象化封装,从而为实质的执行代码开发者提供一个简单而高效的工作环境而忽略复杂的图形界面的维护函数。

Dyna Physics 的 Framework 设计思路

Dyna Physics 作为一款面向游戏的引擎,可以不需要考虑完全的控件支持和强大的界面功能,Framework 开发的初衷是为了方便在后续的开发中能够使用同样的代码基础开发出场景编辑器,效果渲染器甚至模型编辑器等辅助开发工具的开发工作。

DPE 中的 Framework 开发,首先应当实现对基础窗体的对象化工作,使用 C++ 语言对 GDI 图形子系统的 Win32 API 进行封装并提供继承功能,使得一个封装好的对象能够实现如下功能:

  1. 令每一个对象的鼠标、键盘操作等消息能够真正传递到对象所属的成员函数之中
  2. 存储该对象所属的所有用户数据,如字符控件所拥有的字符串等
  3. 提供修改对象本质属性的各种函数功能、更新数据显示等周期性工作函数
  4. 方便使用虚拟成员函数的声明和定义,从而覆盖基类、父类的操作方法

因而,DPE Framework在保持精简哲学的基础之上(我并不想复制一套MFC),包含如下部分的模块和组件:

  1. 应用程序管理类(类似MFC中的theApp指针)
  2. 通用窗口管理器、消息分发器(与MFC中不同,不采用消息图方式,而是将指定消息发往指定类的指定函数)
  3. 各种类型窗口的最小化功能封装

Win32 图形系统中,每一个具体对象都有具体制定的功能,因而在重新导向函数调用的时候,为了追求简化起见,尽量将每个对象的固有属性设计为类变量,采用类似VC的命名规则,变量前添加 m_ 词头,然后函数调用中不再传递对应的固有属性参数。

 

Category: 程序开发 | Tags: | Read Count: 915

登录 *


loading captcha image...
(输入验证码)
or Ctrl+Enter

Host by is-Programmer.com | Power by Chito 1.3.3 beta | Theme: Aeros 2.0 by TheBuckmaker.com