设计模式实践之《零》:开篇
前面也写了几篇关于设计模式的文章,总感觉设计模式是那么的拥有魅力,常常能给程序带来意想不到效果,所以在实际中也用了大量的设计模式(并不是为使用模式而使用)。自己也希望通过一系列实例重温一下这些模式,于是有了写下面一些关于设计模式实践的念头。
从比较经典的GOF的设计模式著作的发表到现在,已经经历了很长时间的洗礼,很多经典的模式被开发者广泛地使用着,而有些模式则随着编程语言的发展已经被集成到语言中,作为语言的一项特性,被人们不知不觉地使用着,如观察者模式,现在很多语言都有事件机制,当一个事件发生,订阅事件的相关用户就会得到通知,进而用户可以在某件事情发生的时候触发某种动作;再如,在.net中很多集合对象都实现了IEnumerable接口,通过该接口可以实现对一个集合对象的遍历,这其实是迭代器模式的一个实现。如果仔细想想,你会发现在.net framwork里面就使用了太多太多的设计模式了。
模式是大家经验的总结,一种经过了实践检验的、可行的最优化实现方法。当然一个开发人员要很好的理解设计模式还要经过大量的编程实践,不然只能知其然,不知其所以然,否则只会出现滥用设计模式,为使用模式而使用,其结果就是一段本身很简单的代码,却被弄的很复杂,失去了使用模式的意义。
个人感觉今天的IT技术的发展是一日千里,新技术层出不穷,2000年出来的.net到现在已经有3.0了,作为一个开发人员,想一直走在技术的前沿,的确太累。要使个人价值随着经验的积累不断提升,掌握核心的知识比追新来得更实在。一个会使用N个IDE进行开发的人员,如果不懂OO,不懂设计模式,不懂软件工程理论,再如何熟练也只是一个程序员,也只会按照别人的想法做事。所以,我很关注设计模式,相信你也是!
从比较经典的GOF的设计模式著作的发表到现在,已经经历了很长时间的洗礼,很多经典的模式被开发者广泛地使用着,而有些模式则随着编程语言的发展已经被集成到语言中,作为语言的一项特性,被人们不知不觉地使用着,如观察者模式,现在很多语言都有事件机制,当一个事件发生,订阅事件的相关用户就会得到通知,进而用户可以在某件事情发生的时候触发某种动作;再如,在.net中很多集合对象都实现了IEnumerable接口,通过该接口可以实现对一个集合对象的遍历,这其实是迭代器模式的一个实现。如果仔细想想,你会发现在.net framwork里面就使用了太多太多的设计模式了。
模式是大家经验的总结,一种经过了实践检验的、可行的最优化实现方法。当然一个开发人员要很好的理解设计模式还要经过大量的编程实践,不然只能知其然,不知其所以然,否则只会出现滥用设计模式,为使用模式而使用,其结果就是一段本身很简单的代码,却被弄的很复杂,失去了使用模式的意义。
个人感觉今天的IT技术的发展是一日千里,新技术层出不穷,2000年出来的.net到现在已经有3.0了,作为一个开发人员,想一直走在技术的前沿,的确太累。要使个人价值随着经验的积累不断提升,掌握核心的知识比追新来得更实在。一个会使用N个IDE进行开发的人员,如果不懂OO,不懂设计模式,不懂软件工程理论,再如何熟练也只是一个程序员,也只会按照别人的想法做事。所以,我很关注设计模式,相信你也是!