这段时间在学习设计模式(呵呵,不知道有没有一点迟),有点心得想和大家一起分享一下。
世界上本没有设计模式,代码写的多了, 就开始有些套套了,所以就有这些模式了。其实想
一想,世间万物都是一个道理,就好比是武术,世上本没有什么拳法,人打的多了,发现用这样
的顺序打拳经常能赢,所以就总结了一下,就有了这个拳那个拳的。设计模式也是一个道理,软
件开发经历了那么多年,人们发现如果代码按照这样写会比较好,所以就总结了一下,就有了我
们看似神秘的Design Patten。
上一段中我说到 “人们发现如果代码按照这样写会比较好”,可是好在哪里,值得我们细细研究
一下。这也是我这篇文章的关注点。
在C#,JAVA时代,是个程序员就会和你海侃对象(不过也有极个别侃不出来的),你千万不要
被他的海侃给吓到,很多人都是吹出来的,一写程序就露了马脚,所谓的代码复用在部分人眼里
就是ctrl+v,ctrl+c,根本没有理会面向对象的精髓,public ,private,protected在他们眼里没有
什么区别,可能还会觉得private很麻烦,不如统统都是public static. 扯得有点远了~~其实OO
的本质就是封装,继承,多态~~而Design Patten,正式教你如何去更好的封装,更好的继承,
更好的多态!
初学者在看设计模式的时候通常都会有这样的感慨,“哇,几十种设计模式,我什么时候
才能看完啊!!%>_<%”
初学者在看了几个设计模式以后通常还会有这样的感慨:“怎么都差不多啊,我好像用哪个
都符合我的设计⊙﹏⊙汗”
对于以上症状我给出的解药就是:是的,他们确实都是差不多的,因为他们做的事情都一样,
封装,继承,多态~~把握住这点,再来细细分析每个设计模式之间的细微差别,无非就是情景
不用而已,目的不同而已。比如:简单工厂模式是为了创建不同的对象,而策略模式确是为了调用
不同的方法。用简单工厂模式可以实现策略模式,用策略模式也可以实现工厂模式,但是不同的
情景下,代价确实很不一样的~~这个要有一定的实战经验才能体会到。
今天先写这么多,呵呵,希望能和大家一同进步。