第一次接触设计模式,还是在成都新蛋面试的时候,网上说新蛋里面非模式不谈。下来就看了一下设计与模式那本经典的教材,结果发现自己什么都没有看懂,所以一直觉得设计模式是一种很高深的东西。在程序俱乐部里和朋友们讨论的时候,朋友们也是这样认为,认为非5年的程序老鸟是搞不定这东西的。后来偶然之中,发现结城浩写的《设计模式-JAVA语言中的应用》,这本书虽然是用java写的,但是和.net的语法基本差不多,讲的浅显易懂,才知道当时书选错了。

在当前很多的面试中,都会遇到设计模式的题目,甚至还出现了一些专门生成设计模式代码的软件,其实个人认为这个有点教条主义。

首先我们要弄清楚什么是设计模式?

在我们开发中,经常会遇到一个问题在另外的场合也遇到过,某个解决方法在另外的系统中也曾经使用过。这个就是模式产生的来源。设计模式伴随程序员的成长,是程序员经验的浓缩。

注意:设计模式是程序员经验的浓缩,说到这里,我们不得不提取出一个重要的概念-“重构”。

重构能让我们对不同的系统提炼出相似的东西,提炼出的这些相似的东西就将成为一个模式。

所以我们完全没有必要局限于GOF的23种模式,那只是大师们总结出的经典。我们也可以总结出自己的设计模式。

顺便说一句,重构对于程序员来说是一个非常重要的过程。很多程序员都忽略了这个过程,其实就像我们总是要强调总结的重要性一样。我们总是喜欢去接触新的东西,可是这样只是让我们的招式得到了丰富,并没有增加我们的内力。

所以,程序内功的修炼没有捷径,希望所有的程序员共勉,革命尚未成功,同志仍需努力。

下一章我们就会从一个简单的模式[迭代器Iterator]开始我们的设计模式之旅,祝大家好运。

下一章地址:

http://www.cnblogs.com/lee22536973/archive/2008/07/28/1254192.html