学习和实践中发现的问题
相比实现业务功能,我更喜欢研究程序设计本身。
编码过程中,因为极力追求更好的代码可读性和更高的性能,我经常反复修改代码,每次改动都有新的发现,要么想出了更好的算法,要么使代码变得更加灵活美观。但反复修改也导致了我的编码效率低下,以至于不能很快的实现业务功能。代码质量虽然上去了,但是延误了项目进度。
我想一部分是熟练程度的问题。对于刚做了一年的项目,编码时间不超过5个月的人来说,要写出高质量的代码同时快速实现业务功能是非常困难的事。
另外我缺乏设计模式方面的知识,很多时候我一直在解决别人已经解决的问题。重复做一件事是程序员的最不应该犯的错,因为大部分程序就是用来解决令人厌烦的重复性的工作。
设计模式的重要性
- 有助于提高代码的可读性和可复用性。
使用设计模式的主要原因之一就是把不变的东西和易变的东西分离,以此实现代码的重复利用。另外,设计模式就像一种标准,只要按照这个标准去写代码,任何熟悉这种标准的程序员会很容易读懂你的代码。
- 有助于学习和理解许多框架。
Spring、Struts、EJB3、Swing还有Java的IO系统都使用了很多经典设计模式。刚学Java的时候,最难以理解的就是它的IO部分,后来看《Java编程思想》第四版的时候才知道理解几种设计模式对于学习IO部分有很大帮助。
- 成为优秀架构师的必备知识。
想靠技术为生,架构师是终极目标。公司的架构师认证要求掌握常用的设计模式。
研究计划
由于闲暇时间有限,决定每两周研究一种模式。
研究内容包括:
- 搜索并阅读网上有关这种模式的资料。
- 研究它的适用范围,以及已经用到这种模式的程序或框架。
- 写一些能反映这种设计模式思想的例子程序。