本文仅考虑框架设计与开发时,采用的是面向对象的编程设计方式。
- 知道了如何设计一套成熟的框架,庖丁解牛般地学习、分析一套成型的框架,不在话下。
1. 基础类库
框架的实现,首先需要基础核心类(库,Foundation classes)的支持
比如对于界面框架设计,需要的基础类可能包括:
- Window:窗口类;(窗口是看得见的)
- Event:事件类;(事件是一种动作,是对动作的模拟和抽象,是看不到的,事件的响应会反映在窗口上,也可能不会)
- Application:框架是活的,需要一台引擎和发动机;
- 对于界面框架而言,像发动机一般维持应用程序运转的,就在 Application 对象的消息循环,不断地接收事件,然后分配给对应的窗口,由该窗口处理事件;
2. 框架设计工具
- UML 类图:UML 类图的重要性,
- 就如同行军打仗时的地形图,指南针,
- 如同烹饪做饭时的菜谱;
- 算法实现时的伪代码逻辑;
3. 定义一些概念,并在代码中进行实现
- MFC
- 消息循环:
- 消息路由:消息(或者事件)会按照一定的方向或者路径已经传递而在整个框架中进行流动;
4. 成熟的可学习的框架
- 窗口界面类:
- Qt
- MFC