今天原本想写一篇关于《在基于Struts的Web应用中的权限设计》的文章,这是我第一次开发Web项目的感触。突然想起以前开发Windows程序的情景,不禁要把那段感受写出来,也算是一个总结。
在大学里随着对各种编程语言的学习的深入和对程序设计的热爱,慢慢的开始接触到可视化编程,但对使用哪种可视化开发环境却比较迷茫。当时VB非常流行,很多同学都说比较好学。但是我比较喜欢C语言和C++,可供我选择的有两种集成开发环境,一个是C++ builder ,一个是Visual C++。听师哥师姐们说VC不好学,上手慢、而且想学明白也不是那么的容易。也许是因为‘逆反’心理在作怪,他们越是这么说,我越是想学它,想知道为什么不好上手,不容易学明白,抱着这个心理我毅然决定开始学习VC。
下定决心后,我赶紧到图书管去借相关的书籍。我对我们学校的图书馆非常满意,其中一点就是计算机类的图书非常的全,虽然书每种图书的数量有限,但是已经能够满足我的需求了。
首先我了解了一下VC的集成开发环境,学习使用向导建立工程。开始了解到基于对话框、单文档、多文档Windows应用程序的区别以及适应的不同的功能需求。起初感觉可视化的开发环境好处就是开发变得“所见即所得”,而且自动生成了很多代码,但让人感觉不爽的也是它自动生成的那些代码。因为我弄不明白为什么要加这段代码,它到底是干什么用的,VC还为我们做了什么事情,这些事情对我设计程序有哪些影响等等。带着这些疑问,我在各种书籍中努力的寻找答案(此时我还没有发现被称为‘VC圣经’的那几本书)。
我开始编写非可视化的Win32程序,开始学习和了解 ‘WinMain’、‘WinPro’、‘消息循环’、‘消息分发’、‘消息映射’。。。。。,消息是如何被传递的,它被处理的时机等等。了解了这些后,我开始明白VC都为我写了哪些东西,一个程序它是如何执行的,这为我以后编写可视化的程序打下了坚实的基础。
接着我开始学习MFC类库,学习和掌握各种控件的使用,了解文档、视图、框架之间的关系。对这些知识的学习,离不开各种实例和网上的各种资源,此时我发现了一个非常好的国外网站 codeproject和国内的VC知识库、VC之路等等。这些网站上各种文章给我了极大的帮助。此时我也有幸从图书馆借到北京出版社出的《Windows程序设计》这本书,它又给我了很多启示和帮助。
随着技术上的成熟,老师介绍我业余时间到一家软件公司去帮忙,当时这家公司是做‘手机聊天室’的项目,在这里多数时间还是学习,包括了解交换机和7号信令等。这是我第一次接触到一个实实在在的项目,虽然有一些茫然和恐惧,但给我留下了深刻的印象。
毕业设计的时间到了,我选择了一个给联通做的一个项目,这个项目内还有一个研究生。我主要负责设计和编码实现。在这个项目中我又学习到COM+、ActiveX等知识,并应用到项目中来。编码设计到一定的阶段,我开始感觉到代码的之间的耦合度较高,不易更改和维护,我又开始把不同的功能做成不同的动态连接库(当时我还不知道设计模式是怎么一回事)。我划分是按照控制类、显示类、第三方类的原则进行的。整理后的效果当时的自我感觉还是不错的。项目期间我开始频繁的访问国外的网站(因为我做的很多东西,国内的资料很少)。翻译相关的技术文档,就在这时我的英文阅读能力得到了很大的提高(虽然我的听力依然保持较差的水平)。对于这个项目我投入了很大的精力和时间,结果功夫不负有心人,我们的项目被评为唯一的一个院级‘优秀’。高兴啊!。。。
由于工作中不需要使用VC,而是我一直没有接触的Web项目的开发,所以暂时将它放了下来,后来先后接触了C#,ASP.NET,Java,在VC方面一直没有什么进步了。