按键盘上方向键 ← 或 → 可快速上下翻页,按键盘上的 Enter 键可回到本书目录页,按键盘上方向键 ↑ 可回到本页顶部!
————未阅读完?加入书签已便下次继续阅读!
你必须对Application Framework有很好的知识 ;才能够修改由它附带的软件开发工具
制作出来的骨干程序。它们并不像Visual Basic 那么容易使用。但是对Application
Framework 专家而言,这些程序代码产生器可以省下大量时间。
使用Application Framework 的主要缺点是;没有单一一套产品广被所有的C++ 编译
器支持。所以当你选定一套Framework,在某个范围来说,你也等于是选择了一个编译
器。
320
…………………………………………………………Page 383……………………………………………………………
第5章 總觀Application Framework
为什么使用Application Framework
虽然Application Framework 并不是新观念,它们却在最近数年才成为PC 平台上软件开
发的主流工具。对象导向语言是具体实现Application Framework 的理想载具,而C++ 编
译器在PC 平台上的出现与普及终于允许主流PC 程序员能够享受Application
Framework 带来的利益。
从八十年代早期到九十年代初始,C++ 大都存在于UNIX 系统和研究人员的工作站
中,不在PC 以及商业产品上。C++ 以及其它的对象导向语言(例如Smalltalk…80)使
一些大学和研究计划生产出现今商业化Application Framework 的鼻祖。但是这些早期产
品并没有明显区隔出应用程序与Application Framework 之间的界线。
今天应用软件的功能愈来愈复杂,建造它们的工具亦复如此。Application Framework 、Class
Library 和GUI toolkits 是三大类型的软件开发工具(请见方块说明),这三类工具虽然
以不同的技术方式逼近目标,它们却一致追求相同而基本的软件开发关键利益:降低写
程序代码所花的精力、加速开发效率、加强可维护性、增加强固性(robustness )、为组合
式的软件机能提供杠杆支点(有了这个支点,再大的软件我也举得起来)。
当我们面临软件工业革命,我们的第一个考量点是:我的软件开发技术要从哪一个技术
面切入?从raw API 还是从高阶一点的工具?如果答案是后者,第二个考量点是我使用
哪一层级的工具?GUI toolkits 还是Class Library 还是Application Framework ?如果答
案又是后者,第三个考量点是我使用哪一套产品?MFC 或OWL 或Open Class Library ?
(目前PC 上还没有第四套随编译器附赠的Application Framework 产品)
别认为这是领导者的事情不是我(工程师)的事情,有这种想法你就永远当不成领导者。
也别认为这是工程师的事情不是我(学生)的事情,学生的下一步就是工程师;及早想
点工业界的激烈竞争,对你在学生阶段规划人生将有莫大助益。
我相信,Application Framework 是最好的杠杆支点。
321
…………………………………………………………Page 384……………………………………………………………
第篇 湷觥 FC 程式設計
, ,
Application Framework Class Library GUI toolkit
一般而言,Class Library 和GUI toolkit 比Application Framework 的规模小,定位也
没那么高阶宏观。Class Library 可以定义为「一组具备对象导向性质的类别,它们使
应用程序的某些功能实现起来容易一些,这些功能包括数值运算与数据结构、绘图、
内存管理等等等;这些类别可以一片一片毫无瓜葛地并入应用程序内」。
请特别注意这个定义中所强调的「一片一片毫无瓜葛」,而不像Application
Framework 是大伙儿一并加入。因此,你尽可以随意使用Class Library ,它并不会强
迫你遵循任何特定的程序架构。Class Library 通常提供的不只是UI 功能、也包括一
般性质的机能,像数据结构的处理、日期与时间的转换等等。
GUI toolkit 提供的服务类似Class Library ,但它的程序接口是程序导向而非对象导
向。而且它的功能大都集中在图形与UI 接口上。GUI toolkit 的发展历史早在对象
导向语言之前,某些极为成功的产品甚至是以汇编语言(assembly )写成。不要必然
地把GUI 联想到Windows ,GUI toolkit 也有DOS 版本。我用过的Chatter Box 就
是DOS 环境下的GUI 工具(是一个函数库)。
使用Application Framework 的最直接原因是,我们受够了日益暴增的Windows API 。把
MFC 想象为第四代语言,单单一个类别就帮我们做掉原先要以一大堆APIs 才能完成的
事情。
但更深入地想,Application Framework 绝不只是为了降低我们花在浩瀚无涯的Windows
API 的时间而已;它所带来的对象导向程序设计观念与方法,使我们能够站在一群优秀
工程师(MFC 或OWL 的创造者)的努力心血上,继承其成果而开发自己之所需。同时,
因为Application Framework 特殊的工作类型,整体开发工具更容易制作,也制作的更完
美。在我们决定使用Application Framework 的同时,我们也获得了这些整合性软件开发
环境的支持。在软件开发过程中,这些开发工具角色之吃重不亚于Application Framework
本身。
322
…………………………………………………………Page 385……………………………………………………………
第5章 總觀Application Framework
Application Framework 将成为软件技术中最重要的一环。如果你不知道它是什么,赶快
学习它;如果你还没有使用它,赶快开始用。机会之窗不会永远为你打开,在你的竞争
者把它关闭之前赶快进入!如果你认为改朝换代还早得很,请注意两件事情。第一,江
山什么时候变色可谁也料不准,当你埋首工作时,外面的世界进步尤其飞快;第二,物
件导向和Application Framework 可不是那么容易学的,花多少时间才能登堂入室可还得
凭各人资质和基础呢。
浩瀚无涯的Windows API
Windows 版本 推出日期 API 个数 消息个数
1。0 1985。11 379 ?
2。0 1987。11 458 ?
3。0 1990。05 578 ?
Multimedia Ex。 1991。12 120 ?
3。1 1992。04 973 271
Win32s 1993。08 838 287
1449