代码改变世界

开发经验是修炼设计模式的基石

2010-03-08 15:56  CleverDeng  阅读(1716)  评论(3编辑  收藏  举报

07年来博客园,向园主发了封Email注册号子至今一直保持着只看不说,类似于2000年在CSDN和程序员之家一样,只看不说。此乃核潜艇中的极品。在博客园的这段期间,深深的被园子的到技术氛围感染,同时也注意到大家对设计模式这方面的话题很感兴趣,最近园子里这类话题不是又很活跃吗?”设计模式学习总结9 - 行为型4 - Strategy策略模式”、”哪些设计模式最值得学习”,对于这类话题,我相信大家都有自己的认识,而我也不例外,本篇就是总结一下自己对这方面的认识,崇尚在交流中成长。

什么是设计模式

提到设计模式,不难就会想到软件开发领域里以他们的匿名著称Gang of Four(四人帮,简称GoF),这四位前辈的常聚会在一起交流自己的开发经验,慢慢的通过他们的努力将这些开发经验总结和归纳成一本书《Design Patterns - Elements of Reusable Object-Oriented Software》(《设计模式》),共收录23中设计模式。经历时间的洗礼,此书至今广为流传,为计算机软件开发后来者捧为经典之作。

设计模式与开发经验

在这个行业中,程序员担任的工作有天壤之别,也许您开发的项目代码量高产,但项目中处处都是重复的COPY代码;也许您的开发经验数年,但只是在不加思考的CRUD。这里的开发经验不指是您开发工作几月、几年、还是几个项目,而是指实实在在的站在软件生命周期的高度编写代码,通过重构优化过您的代码,让各个对象或组建之间的通信更为优雅、更为灵活。

日积月累,无形中在应用23中设计模式中的某某一种,此时查阅《Design Patterns - Elements of Reusable Object-Oriented Software》时,我相信您不是一种背设计模式、背应用场景,而是给你一个权威的认证(权威定义),你这个模型、方式、方法就叫某某模式。这时候您难道还不能驾驭各种设计模式吗?

分治算法的故事

由于我本人受教育路线,我在高中就以Qbasic语言为主修课程,大家都知道凡是程序设计的课程总会有很多程序设计的课题做练习,老师会用同一个问题比如”排序”、”杨辉三角星”做N次练习,其中印象最深刻的就是折半查找(二分查找),对于刚接触的时候,比较难以理解其中的思想,为了考试的时候拿高分,只好背下代码。通过后来的看书学习,恍然大悟,昂,原来这就是分治的思想,而我遇到类似的问题也不再是背代码。