设计模式已经陨落了?

写在前面的话:你是一个程序员么?如果是的话,那么在看下面这段话之前,问自己两个问题然后记录下答案。

首先问自己:“什么是设计模式?”,然后再问”说出你能回忆起的设计模式的名字”。

设计模式是什么呢?设计模式是用来解决软件开发中重复出现的问题,久经考验的方法。当程序员遇到反复出现的问题时,他们通过应用合适的设计模式来解决问题。设计模式是由最聪明的电脑科学家设计出来的,历经了时间的考验,它们被认为是最好的方法。使用设计模式,程序员不需要自己想办法解决所有的编程难题,他们可以使用设计模式。设计模式节约开发时间,能开发出更灵活、可靠和健壮的软件。设计模式重用了概念的想法,解决方法的设计理念,考虑了他人的使用,它是非常棒的想法,让许多事情更合理了。

但事实是:设计模式已经(几乎)陨落了。

设计模式应用的成功的先决条件是程序员在遇到重复出现的问题时能够意识到他们的存在。如果程序员不能意识到问题的存在,他们将不会知道已经有人解决过类似的问题了,也不会知道还有设计模式的存在。他们不是应用应用设计模式来解决这些普遍存在的问题,而是闭门造车,用自己的方法来解决问题。他们花了更多的时间却写出了可靠性更差的代码。

设计模式的陨落是因为大部分的程序员还不是足够的了解他们,要解决问题时不能意识到哪些重复出现的问题的存在。如果他们不能意识到问题,他们就不能用设计模式来解决问题。

不了解设计模式的程序员们当读到用设计模式开发的代码时会感到迷惑。他们不理解其他程序员为什么要用这种方法来解决问题。他们面对这样一些普遍的问题或设计模式代码时,显得笨手笨脚。

设计模式也是一种通用的语言-----一种程序员皆知的语言,可以用术语来阐述复杂的问题,来让其他人明白。但设计模式已经陨落了;你不能用一种你不懂得语言来交流,大多数程序员不能作为一种概念来使用它们。设计模式是一种很少人会说的通用语。

但设计模式还没有完全陨落,许多聪明的程序员仍然知道它们,使用它们,这些人是例外,正是他们的努力推广,才能使MVC这个设计模式让所有程序员都熟知,就算对设计模式知之甚少的人都熟知。

设计模式已经衰退了是因为大部分程序员没有意识到它在计算机科学中的重要性。如果你是一个专业程序员,你应该对设计模式有深入的理解。你应该记住设计模式能够处理的问题,这样你碰到它们,你能快速识别它们,没有理由找捷径,也不能对它们一知半解。去成为一个设计模式方面的专家吧---努力学习,成为真正的专家。

posted @ 2014-03-13 08:56  冷冰若水  阅读(239)  评论(0编辑  收藏  举报