关于设计模式
关于设计模式
正式工作已经2个月了,自己也参与到项目中编写了一些代码。在写代码的过程中感受到了很多东西,其中影响最大的大概就是设计模式了吧。
我写的第一段代码是关于javamail的,但是仅仅百来行的代码被老员工指出了十来个缺陷。像一个棒槌一样猛的把我从过去的自豪中敲醒了过来。想起自己在本科期间还是开发了几个像样的系统,写的代码量好歹也有那么多吧,但是从来没有人来给我评审一下,帮我指点一下我的代码究竟是否会有问题。经过老员工的指点,我也渐渐发现自己写的代码是多么的拙劣,简直是惨不忍睹呀。
我按照老员工的指点修改了我的代码,修改之后我写的代码也可以正常的工作了,并且在扩展性和复用性方面也没问题了。但是我向来就是一个寻根究底的人,我在想,这个代码为什么要写成这样呢,当然这样写是有他们说的那么的好处,但是是什么思想在指导着这样的写法呢?
我疑惑了。当我不断的Google相关资料之后,我得出了一个结论,那就是:设计模式。在我看来,设计模式不仅仅是在系统框架设计时起到了重要的作用,对于一个普通的程序员平时的代码编写也有相当的作用。当你要写一个类、一个接口的时候,在具体点,当你要写一个函数的时候,你是在类本身定义加实现,还是在接口或抽象类中定义,然后在具体类中在实现呢,你是把函数写成静态的,还是写成普通的成员函数?面对这么多的选择,你的每一行代码究竟该如何敲下来?
其实在我大三的时候我就花了80多大洋买了那本著名的《java与模式》。但是却一直放到了抽屉里,当时的热情也只是让我看完了前两张,而第二张讲的仅仅是UML,我明白我对设计模式还一无所知。
凭着我对技术向来的热情,我重新翻开了《java与模式》,我开始一个模式一个模式的读下去,然后联系上自己日常的编码工作。真的感觉自己像走出了一个世界,到达了一个天堂的感觉。我才发现那句话的含义:编码是一项艺术!
本来我也打算写一个关于设计模式的学习总结或者经验什么的,但是网上相关的文章真的已经很多,而且都写的那么的好。况且现在我仅仅是了解了各个模式的含义,对于如何具体应用到实际当中,各个模式如何组合起来使用,模式怎么扩展和变化来适应不同的需求,我知道,我前面的路还有很长很长。
告诉自己,工作才刚刚开始,不能急躁,保持一颗平常心,认真工作,快乐生活。