D
dcsdcs
Unregistered / Unconfirmed
GUEST, unregistred user!
Delphi已经推出了7个版本,在未来也会持续的推出新的版本,许多人可能也已经使用Delphi许多年并且开发了各种不同的应用系统,但是不管我们使用了Delphi多久,我们真的已经了解Delphi,而且发挥Delphi十成的功能了吗?
Delphi 1从推出以来,在每一个版本都加入了许多新的功能,融合的软件技术也一直在增加之中。从RAD、Flat-File数据库功能、VCL组件,一直到主从架构、Web、COM/COM+、MIDAS、多层分布式应用系统,到现在的SOAP/Web Service、dbExpress,DataSnap等技术,程序员们不断地学习和使用新的技术,以便用来开发新的应用系统或是增加程序员个人的附加价值,以求在信息领域能够更上一层楼。不过这些技术大都是属于“应用类”。但是在这些技术之外Delphi亦拥有优美的Object Pascal程序语言,以及有若宝山般的VCL Framework。Object Pascal提供了典雅面向对象程序语言的功能以及Pascal传统的严谨语法,值得程序员藉由Object Pascal学习面向对象的观念和技巧。而VCL Framework更蕴藏了大量的软件技术宝藏,它充分地使用了Object Pascal的特性,巧妙的软件实作技巧,深入的语言/编译器技术,动态对象生命周期的管理以及结合设计样例(Design Pattern),是许多Borland工程师多年软件智能和技巧的结晶。
VCL Framework这座宝藏公平地呈现在每一个Delphi程序员之前这么多年,然而大多数的我们,很久以来大都只是撷取VCL Framework表面之一角就可以快速使用Delphi开发和完成我们的应用系统,只有极少数的程序员真的尝试开启VCL Framework宝藏的大门,进入另外一个宏伟的软件工程大殿,接受从未经历过的高等软件技术的洗礼。因此,长久以来VCL的深度知识也被封锁在少数程序员的圈子中,这些极为有用的软件技巧自然也只被少数程序员所拥有。
在笔者工作的这么多年中也不时地追踪VCL Framework,因此学习到许多宝贵的软件知识,也解决了许多问题。笔者认识的许多朋友也或多或少都研究过VCL Framework,因此许多人也成为佼佼者,在工作上表现非常杰出。笔者和这些朋友都知道一个要诀,那就是当有解不开的麻烦时看看VCL Framework大概就可以解决了,笔者也经常在网络上看到一些高手说学Delphi根本不需要看什么书籍,只要看看Delphi的在线辅助和VCL Framework源程序就可以解决所有的问题。虽然笔者不绝对赞成这句话,因为在属于Delphi“应用层”的技术方面仍然是需要经验才能够运用得很好,否则只是属于会用而已。但是笔者赞成在偏向Window程序设计、系统功能方面,如果Delphi程序员能够了解VCL Framework,那么的确是非常容易解决这些问题的。不过前提是Delphi程序员必须能够掌握VCL Framework,简单地说,也就是必须看得懂VCL Framework的源程序并且掌握其中的设计绝窍。
然而我们必须承认,在这么多的Delphi程序员中仍然只有少数人拥有掌握VCL Framework的优势。这是为什么呢?因为要了解VCL Framework,需要许多基础的知识。如果没有其他人或是书籍来引导,那么就只有那些在软件开发上非常有经验的人才能够一窥全貌。
数年前笔者就知道当时Delphi Informant的主编表达有兴趣撰写一本Inside VCL书籍,准备剖析VCL的架构。当时笔者非常期待这本书,因为当时笔者也想了解VCL Framework以更上一层楼。不过笔者等了又等,到了现在仍然不见那本书的出现。为什么在Delphi领域中一直没有讨论VCL Framework的书籍出现呢?这是有许多原因的,最重要的两项因素可能是一来这种书籍不易撰写,需要作者投入极大的心力和时间,此外也考验了作者本身在软件方面的素养,不是一般作者愿意或是能够撰写的。二来可能是因为出版商对于这种书籍的市场销量有考量,这种属于进阶技术的书籍通常需要比出版入门书籍考量得更多。撰写VCL Framework另外的挑战是:VCL Framework仍然在快速的演进之中,不时地加入新的技术,架构甚至是移植到新的平台,不像其它的一些Framework几乎是处于停止发展的状态。因此,写这种书的作者必须不时地重新检视已经撰写的内容,看看VCL Framework是否又发生了变化?这对于书籍的作者而言是非常严峻的挑战。
笔者许多年来一直在写一些有关VCL的文章,但是这些内容从没有发表过,这是因为笔者在苦等不到Delphi Informant主编的书籍之后,便不自量力地想自己写一本有关VCL的书籍,但是由于笔者本人时间上的限制以及出版商的考量,因此后来就将计划暂搁了。直到最近,大陆的数家出版社接连都表达了出版此书的意愿之后,笔者才郑重考虑想要完成这本书,至此笔者开始认真地设计和收集这本书的内容。笔者知道,要完成这本书是一条漫漫长路,不过笔者决定一点一滴地试着完成这本书,希望2003年能够让这本计划多年的书籍问市,以达成笔者多年的心愿。
读者阅读本书时,需要知道本书并不是讨论特定的应用技术,也不会教导读者如何开发特定的应用系统。本书主要讨论的内容是VCL Framework设计和实作的技术,这包含了为什么需要VCL Framework?VCL Framework的设计思想,VCL Framework的设计架构,VCL Framework的实作技术,VCL Framework的演进,VCL Framework使用的软件技术,VCL Framework使用和结合的Design Pattern以及VCL Framework的未来:VCL.NET。在这些讨论的内容中读者将可充分看到VCL Framework的各种实作技巧,此外笔者也会试着和读者一起探讨许多VCL Framework设计背后的理论和原因,试着让读者了解在设计一个Framework时牵涉到的东西。让读者不但能够知道How,也知道Why。当读者经过了VCL Framework的洗礼之后,相信在软件思想和实作方面将有脱胎换骨的感觉。
笔者要谢谢所有帮助本书出版的朋友,没有这些朋友的催促,这本书可能永无面市的机会。当然更要谢谢许多读者多年来对于笔者的支持,最后希望本书的内容真的能够帮助读者进入VCL Framework的软件知识宝山。在读者能够从其中学习到受用无穷的软件技术之后,这些软件技术在读者未来于信息领域生涯的发展中将呈现出其无价的珍贵。更重要的是,藉由此一窥VCL Framework的内部实作秘密,将会让读者至少在思想上能够拉近和世界一流软件工程师的距离,当然读者如果在日常的实作中能够善用学习到的VCL Framework软件技术,那么也就表明读者正朝向一流软件人才的方向努力奋进。
李维 2003/10/8于台北,新店
Delphi 1从推出以来,在每一个版本都加入了许多新的功能,融合的软件技术也一直在增加之中。从RAD、Flat-File数据库功能、VCL组件,一直到主从架构、Web、COM/COM+、MIDAS、多层分布式应用系统,到现在的SOAP/Web Service、dbExpress,DataSnap等技术,程序员们不断地学习和使用新的技术,以便用来开发新的应用系统或是增加程序员个人的附加价值,以求在信息领域能够更上一层楼。不过这些技术大都是属于“应用类”。但是在这些技术之外Delphi亦拥有优美的Object Pascal程序语言,以及有若宝山般的VCL Framework。Object Pascal提供了典雅面向对象程序语言的功能以及Pascal传统的严谨语法,值得程序员藉由Object Pascal学习面向对象的观念和技巧。而VCL Framework更蕴藏了大量的软件技术宝藏,它充分地使用了Object Pascal的特性,巧妙的软件实作技巧,深入的语言/编译器技术,动态对象生命周期的管理以及结合设计样例(Design Pattern),是许多Borland工程师多年软件智能和技巧的结晶。
VCL Framework这座宝藏公平地呈现在每一个Delphi程序员之前这么多年,然而大多数的我们,很久以来大都只是撷取VCL Framework表面之一角就可以快速使用Delphi开发和完成我们的应用系统,只有极少数的程序员真的尝试开启VCL Framework宝藏的大门,进入另外一个宏伟的软件工程大殿,接受从未经历过的高等软件技术的洗礼。因此,长久以来VCL的深度知识也被封锁在少数程序员的圈子中,这些极为有用的软件技巧自然也只被少数程序员所拥有。
在笔者工作的这么多年中也不时地追踪VCL Framework,因此学习到许多宝贵的软件知识,也解决了许多问题。笔者认识的许多朋友也或多或少都研究过VCL Framework,因此许多人也成为佼佼者,在工作上表现非常杰出。笔者和这些朋友都知道一个要诀,那就是当有解不开的麻烦时看看VCL Framework大概就可以解决了,笔者也经常在网络上看到一些高手说学Delphi根本不需要看什么书籍,只要看看Delphi的在线辅助和VCL Framework源程序就可以解决所有的问题。虽然笔者不绝对赞成这句话,因为在属于Delphi“应用层”的技术方面仍然是需要经验才能够运用得很好,否则只是属于会用而已。但是笔者赞成在偏向Window程序设计、系统功能方面,如果Delphi程序员能够了解VCL Framework,那么的确是非常容易解决这些问题的。不过前提是Delphi程序员必须能够掌握VCL Framework,简单地说,也就是必须看得懂VCL Framework的源程序并且掌握其中的设计绝窍。
然而我们必须承认,在这么多的Delphi程序员中仍然只有少数人拥有掌握VCL Framework的优势。这是为什么呢?因为要了解VCL Framework,需要许多基础的知识。如果没有其他人或是书籍来引导,那么就只有那些在软件开发上非常有经验的人才能够一窥全貌。
数年前笔者就知道当时Delphi Informant的主编表达有兴趣撰写一本Inside VCL书籍,准备剖析VCL的架构。当时笔者非常期待这本书,因为当时笔者也想了解VCL Framework以更上一层楼。不过笔者等了又等,到了现在仍然不见那本书的出现。为什么在Delphi领域中一直没有讨论VCL Framework的书籍出现呢?这是有许多原因的,最重要的两项因素可能是一来这种书籍不易撰写,需要作者投入极大的心力和时间,此外也考验了作者本身在软件方面的素养,不是一般作者愿意或是能够撰写的。二来可能是因为出版商对于这种书籍的市场销量有考量,这种属于进阶技术的书籍通常需要比出版入门书籍考量得更多。撰写VCL Framework另外的挑战是:VCL Framework仍然在快速的演进之中,不时地加入新的技术,架构甚至是移植到新的平台,不像其它的一些Framework几乎是处于停止发展的状态。因此,写这种书的作者必须不时地重新检视已经撰写的内容,看看VCL Framework是否又发生了变化?这对于书籍的作者而言是非常严峻的挑战。
笔者许多年来一直在写一些有关VCL的文章,但是这些内容从没有发表过,这是因为笔者在苦等不到Delphi Informant主编的书籍之后,便不自量力地想自己写一本有关VCL的书籍,但是由于笔者本人时间上的限制以及出版商的考量,因此后来就将计划暂搁了。直到最近,大陆的数家出版社接连都表达了出版此书的意愿之后,笔者才郑重考虑想要完成这本书,至此笔者开始认真地设计和收集这本书的内容。笔者知道,要完成这本书是一条漫漫长路,不过笔者决定一点一滴地试着完成这本书,希望2003年能够让这本计划多年的书籍问市,以达成笔者多年的心愿。
读者阅读本书时,需要知道本书并不是讨论特定的应用技术,也不会教导读者如何开发特定的应用系统。本书主要讨论的内容是VCL Framework设计和实作的技术,这包含了为什么需要VCL Framework?VCL Framework的设计思想,VCL Framework的设计架构,VCL Framework的实作技术,VCL Framework的演进,VCL Framework使用的软件技术,VCL Framework使用和结合的Design Pattern以及VCL Framework的未来:VCL.NET。在这些讨论的内容中读者将可充分看到VCL Framework的各种实作技巧,此外笔者也会试着和读者一起探讨许多VCL Framework设计背后的理论和原因,试着让读者了解在设计一个Framework时牵涉到的东西。让读者不但能够知道How,也知道Why。当读者经过了VCL Framework的洗礼之后,相信在软件思想和实作方面将有脱胎换骨的感觉。
笔者要谢谢所有帮助本书出版的朋友,没有这些朋友的催促,这本书可能永无面市的机会。当然更要谢谢许多读者多年来对于笔者的支持,最后希望本书的内容真的能够帮助读者进入VCL Framework的软件知识宝山。在读者能够从其中学习到受用无穷的软件技术之后,这些软件技术在读者未来于信息领域生涯的发展中将呈现出其无价的珍贵。更重要的是,藉由此一窥VCL Framework的内部实作秘密,将会让读者至少在思想上能够拉近和世界一流软件工程师的距离,当然读者如果在日常的实作中能够善用学习到的VCL Framework软件技术,那么也就表明读者正朝向一流软件人才的方向努力奋进。
李维 2003/10/8于台北,新店