友情提示:如果本网页打开太慢或显示不完整,请尝试鼠标右键“刷新”本网页!阅读过程发现任何错误请告诉我们,谢谢!! 报告错误
一世书城 返回本书目录 我的书架 我的书签 TXT全本下载 进入书吧 加入书签

深入浅出MFC第2版(PDF格式)-第83章

按键盘上方向键 ← 或 → 可快速上下翻页,按键盘上的 Enter 键可回到本书目录页,按键盘上方向键 ↑ 可回到本页顶部!
————未阅读完?加入书签已便下次继续阅读!






     案又是后者,第三个考量点是我使用哪一套产品?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                                291 

Win32                 1993。08                   (持续增加当中)             (持续增加当中) 



                                    A PI Jun gle 



                                                                                          323 


…………………………………………………………Page 386……………………………………………………………

                第篇    湷觥 FC  程式設計 



                                                       (  ) 

           Microsoft Foundation Classes                  MFC 



                PC 世界里出了三套C++ Application Frameworks ,并且有愈多愈多的趋势。这三套是 



                Microsoft  的MFC  (Microsoft Foundation Classes  ) , Borland  的OWL  (Object 



                WindowLibrary ),以及IBM VisualAge C++  的Open Class Library 。至于其它C++ 编译 



                器厂商如Wat 、Symantec、Metaware ,只是供应整合开发环境(Integraded Development 



                Environment ,IDE),其Application Framework 都是采用微软公司的MFC 。 



                Delphi (Pascal 语言),依我之见,也称得上是一套Application Framework 。Java 语言 



                本身内建一套标准类别库,依我之见,也够得上资格被称为Application Framework 。 



                Delphi 和Visual Basic ,又被称为是一种应用程序快速开发工具(RAD ,Rapid Application 



                Development )。它们采用PME  (Properties…Method…Event )架构,写程序的过程像是在 



                一张画布上拼凑一个个现成的组件(ponents ):设定它们的属性(properties )、指 



                定它们应该「有所感」的外来刺激(events ),并决定它们面对此刺激时在预设行为之外 



                的行为(methods )。所有动作都以拖拉、设定数值的方式完成,非常简单。只有在设定 



                组件与组件之间的互动关系时才牵涉到程序代码的写作(这一小段码也因此成为顺利成功 



                的关键)。 



                Borland 公司于1997 年三月推出的C++ Builder 也属于PME 架构,提供一套Visual 



                ponent Library (VCL ),内有许许多多的组件。因此C++ Builder 也算得上是一套 



                RAD (应用程序快速开发工具)。 



                早初,开发Windows 应用程序必须使用微软的SDK          (Software Development Kit ),直 



                接调用Windows API  函数,向Windows 操作系统提出各种要求,例如配置内存、开 



                启窗口、输出图形。。。。 



                所谓API (Application Programming Interface ),就是开放给应用程序调用的系统功能。 



324 


…………………………………………………………Page 387……………………………………………………………

                                        第5章    總觀Application Framework  



数以千计的Windows APIs ,每个看起来都好象比重相若(至少你从手册上看不出来孰轻 



孰重)。有些APIs 彼此虽有群组关系,却没有相近或组织化的函数名称。星罗棋布, 



雾列星驰;又似雪球一般愈滚愈多,愈滚愈大。撰写Windows 应用程序需要大量的耐 



力与毅力,以及大量的小心谨慎! 



MFC 帮助我们把这些浩繁的APIs ,利用对象导向的原理,逻辑地组织起来,使它们具 



备抽象化、封装化、继承性、多态性、模块化的性质。 



1989 年微软公司成立Application Framework 技术团队,名为AFX 小组,用以开发C++ 



对象导向工具给Windows 应用程序开发人员使用。AFX  的〃X〃 其实没有什么意义, 



只是为了凑成一个响亮好念的名字。 



这个小组最初的「宪章」,根据记载,是要〃utilize the latest in object oriented technology to 



provide tools and libraries for developers writing the most advanced GUI applications on the 



market〃,其中并未画地自限与Windows 操作系统有关。果然,其第一个原型产品,有 



自己的窗口系统、自己的绘图系统、自己的对象数据库、乃至于自己的内存管理系统。 



当小组成员以此产品开发应用程序,他们发现实在是太复杂,又悖离公司的主流系统…



Windows …太遥远。于是他们修改宪章变成〃deliver the power of object…oriented solutions 



to programmers to enable them to build world…class Windows based applications in C++。〃 这差 



不多正是Windows 3。0 异军崛起的时候。 



C++ 是一个复杂的语言,AFX 小组预期MFC  的使用者不可能人人皆为C++ 专家,所 



以他们并没有采用�
返回目录 上一页 下一页 回到顶部 赞(0) 踩(1)
未阅读完?加入书签已便下次继续阅读!
温馨提示: 温看小说的同时发表评论,说出自己的看法和其它小伙伴们分享也不错哦!发表书评还可以获得积分和经验奖励,认真写原创书评 被采纳为精评可以获得大量金币、积分和经验奖励哦!