Archive for » February 27th, 2008 «

问渠哪得清如许,为有源头活水来

朱熹《观书有感》中有这样一句话,“问渠哪得清如许,为有源头活水来”,这句话绝大部分人都知道啥意思,但当在那一刻看到那封邮件里最后出现的这句话时,感觉真TMD的是太合适不过了,再多的话都没这句来得精典、来得有力,真的是掷地有声!

这句话我们可以用在生活中很多地方,比如学习励志、品德修养等,用在公司和企业管理中,也是非常非常的贴切,简单的理解,一个公司要发展良好,一定需要有个英明的公司领导或者领导团队,往细节里面敲,任何一个公司内部团队的建设,都需要上级给予正确合理的引导和指点才行,同样,设计一个公司的优秀的产品,一定是公司领导们首先有清楚的思路和明确的战略指导。 如果源头不清,寄希望于中下游的某颗水草来清理水渠,结果自然可想而知。

顺着往后想,又不由让我想起前几天素心跟我谈过的比干和诸葛亮的道理来了。

也谈设计模式

最近可以用三个字来形容“忙”“乱”“烦”,其实我估计很多人也都这状态,如同家家有本难念的经,人人都有没法说的烦恼。

在这状态下,已经很久没有写一些跟技术相关的东西了,前两天想升级BSD的系统到最新的6.3版,结果cvsup了一个多小时源码树没有完,就心烦气躁的Ctrl+C放弃了,最近因为诸多项目启动,连续一周多写系统分析文档,一个项目一整就是三十来页的分析文档,其实还是很草的那种,实在也没有精力和心思给写得彻彻底底的,估计真完全弄踏实了,少说也得上百页才能算合格的系统分析文档。

写这两份文档的中间儿,想到了我的兄弟们在拿着文档开发过程中可能会面临的一些问题,其中最担心的就是在面向对象开发的时候面临的对象间关系处理问题,专业术语讲,那就是设计模式的问题。

这东西也老生常谈了,说实话,如同大学里面学的那几门计算机基础知识一般,设计模式实在很重要,貌似很基础的东西,一讲大部分都能明白,但是真正用起来和项目结合,还是一头雾水,这就跟咱们大学学数据结构一样,回想起来,有几个在后来工作中用过那些最基本的二叉树、链表、图一类的东西? 原来3721的老哥李钊说得很经典,中国为啥计算机科学落后,缺少的不是高级程序员,缺少的是对计算机基础知识理论理解透彻的人。很多武侠小说里面的高手,到最高境界不是会多少套路和拳法,而是用最简单的招式化解一切高深的套路。

相比之下,设计模式对于面向对象开发来说,有点儿类似的味道,会写类、继承、重载、抽象一类的东西不难,但是把这些东西用更简单的思路来看待和组织就有难度了,设计模式不是把他们复杂化,而是为了让问题更简单。把简单的东西发挥到极致比把复杂的东西学会往往更有价值。

说到这里,估计也看出我这还是没有在讲技术,是啊,一真进入技术话题,设计模式不是这么简单三言两语能说明白的,常见的23种模式,经典的21种,随便一种都得且说呢,记得看过一个哥们的blog上用星际争霸的实现思路来讲述了大部分的设计模式基础,感觉真不错,大家可以google一下。

今天写这些,主要是因为最近的几个项目系统分析文档中涉及到不少地方需要运用设计模式,于是乎准备在最近给我的兄弟们找个时间讲堂课,说说常见的设计模式的应用,最近正准备动手弄个PPT,所以就先酝酿酝酿思路和情绪。

真正有兴趣、有决心、有信心、有恒心深入一下的朋友,去看看这本书吧:《设计模式》,经典至极,该书作者均是国际公认的面向对象软件领域的专家,号称“四人帮”。