第0章 关于本书
感谢您阅读本书!
本书是写给程序员的,更确切说,是写给Delphi程序员的,再确切些,是写给已经有了一定的实现能力而欲求寻找一种"突破"的Delphi程序员的。
作者本人,在接触了两年的Delphi之后,曾经迷茫过。我可以写各种各样的程序,我懂得VCL大多数组件的用法,我知道应该调用哪个Windows API来完成我要的功能……但时常会疑惑:这就是写程序了?那时候在大学里读书,课余时间很多,每天就不停地写,写各种程序:包括课堂的作业、在网上发布的免费软件以及接到的开发项目。每天都写代码,有了Delphi的help和MSDN,似乎不会有什么困难,只是偶尔会觉得单调。不禁又问自己:这就是写程序了?
我迷茫,是因为我感到,写程序不应该是件单调的事情;我迷茫,是因为自己总在寻求却始终没有找到一种"突破"的感觉;我迷茫,是因为我想成为"高手"却不知道如何去做……
我有很多理由喜欢Delphi,但是应该说,那时正是Delphi的RAD开发方式让我陷入迷茫。当时我迷惑于RAD使人能力退化还是一种革命性的进步,相信很多Delphi程序员都会和我有一样的经历。
我很幸运,就在我迷茫的时候,认识了我的同学Lythm。是他让我找到了方向,然后就暂时放下手中的键盘,捧起了书本钻研C++与面向对象编程的理论。此时已没有了迷茫,取而代之的,则是能亲身感受到的、我梦寐以求的"突破"的感觉。之后,我又发现Delphi与C++在OO思想方面的共通性,并且相比之下,Delphi更得我心(理由见第1章),于是便有了"看C++的书,把弄手上的Delphi"的经验。
那么,你是否曾经或正在经历我曾经的迷茫呢?
如果你现在正在经历,我希望你和我一样幸运。不要犹豫,从这本书开始结束这种迷茫,也许我或者这本书能成为你的Lythm。
如果你预期未来会经历,那也请你珍藏着这本书,也许某天你会想起它,需要它。
我并没有任何文字暗示自己已经成为"高手",所谓"高手突破"的解释并不是高手来帮助你突破。写这样一本书,我只是希望能把自己的"突破"的感觉与经验和大家共享,同时,它也是我对前一段时间学习的一个总结。
0.1 这本书没有什么?
这是本特殊的Delphi编程方面的书,它不会教你如何使用Delphi,也不会教你如何使用类似TListBox那样的组件,更不会涉及诸如多线程、DLL、API等Windows编程的内容,也没有热门的COM/DCOM。
0.2 这本书有什么?
这本书会告诉你面向对象编程的基础理论,会给你剖析VCL的部分源码,会告诉你在你开始敲键盘写代码之前应该做什么,怎样使你的代码的构架被更良好的设计以致于更容易被维护和修改,告诉你Lythm告诉我的一切,以及更多。
0.3 这本书还没有什么?
看起来,这是一本更侧重于讲设计的书。请不要误会,这本书还不会教你关于面向对象分析/设计(OOA/OOD)的内容,更没有UML
0.4 这本书究竟有什么?
就本质来说,这本书只讲OOP,当然,是用Delphi作为载体,因为它是写给Delphi程序员的。其中有设计的内容,但仅限于代码设计。本书末尾会有一章就一个实例向你展示代码构架设计的一种可能的方式,但此方式并不是唯一的。实例不需要被照搬,而需要领会。
0.5 本书章节介绍
本书第1、2、3章介绍OOP的知识基础,虽然这样的内容在很多书都会有,但本书一定会带给你不同的感觉。
第4、5章介绍VCL相关的知识。其中第4章为你剖析部分VCL的核心组件源码,第5章介绍定制、设计组件的方法。
第6、7章介绍程序构架设计。第6章介绍一般性的代码设计准则,其内容可以完全脱离Delphi,因为这些准则是跨语言的。第7章为一个完整的代码设计实例,以编写一个多工作区的文本编辑器为例,从实践角度说明程序构架设计的方法。
0.6 本书的支持网页
本书的支持网页为:http://www.sunistudio.com/nicrosoft/book/
作者Email:nicrosoft@sunistudio.com
希望你喜欢本书以及它的作者--我!谢谢。