原创作者:阿风
日期:2007-06-05
首先说说写这系列的文章的想法,目的在于:
1.自己也在研习设计模式,通过在自我总结的过程中,希望能多设计模式多一点深刻理解
2.希望给看到这系列文章的朋友一点对设计模式学习的帮助,特别是对设计模式的初学者能起到"引进门"的效果,
如果以上的作用能起到哪怕一点,我也欣闻而笑了.
设计模式(Design Patterns)是什么?为什么会出现设计模式?做过开发项目的朋友可能都遇到过,一个问题会在一个项目或者多个项目中重复出现,而相应的解决方案都是类似相同,相应代码的实现也是大同小异,为什么我们不能复用这些解决方案,或者说我们是否能修改或重新构建一下设计架构来使得重复的代码更少,结构更合理? 当然,这些是可行且有必要的. 此时设计模式的出现让我们茅舍顿开.
说到设计模式,不得谈一本书<Design Patterns:Element of Resuable Object-Oriented Software),作者是GoF,实际是三个人合著的.之所以提到这本书,因为这本书的经典在于详细阐述了23种在软件开发过程中运用广泛的"模式",这一个理念的提出,给面向对象设计(OOD)注入了新的血液,体现出OOD超越面向过程设计的优势所在,从此让程序员看待代码有了"哲学的眼光"..
就像这本书定义的模式:每个模式描述了一个在我们周围不断重复和发生的问题,以及该问题解决方案的核心,这样你就能一次又一次使用该方案而不必做重复劳动.
至此,设计模式的意义已经凸现,设计模式给我们的启发又是什么?的确,每个经典的设计模式体现出了大师的精湛思想,我们需要从中得到的启发是能否"举一反三",在我们每一次的软件设计和开发中融入这些经典模式,让软件设计得更易理解,更易拓展,更易维护.这是设计模式给后人的最大启示.
经典的设计模式給我的启示应该是個思想,而不是固定的那幾個模式,具体的软件项目或软件产品,會有不同情形,我们应该依据具体的情況合理运用模式思想,设计模式只是"招式"套路,要做到"无招胜有招",需要具体的情形分析,并非一定要套用所谓的模式,但是原则是不变的,"让软件易理解,易拓展,易维护".
把语言特性和设计模式有机结合起来,对于程序员来说是一个成长的标志点也是转折点,希望此文能对所有程序员有所帮助.
用心去写文章是件不容易的事情,需要坚持和执著,既然开始,就应该坚持到底..
这个系列的文章主要是从GoF的归纳的23种设计中挑选十来个在软件项目中常用和运用的设计进行讲叙,讲叙风格应该是简单,深入浅出,思路和代码相结合.
该系列文章要讲述的几个经典设计模式:(暂定)
实现语言采用Java,是设计模式让OOD成为软件开发历史上的光辉更加绚烂.
有人说:开始总是好的.所以,赶紧开始把.