那么在读下面的段落之前,现在坐在一个顺序员旁边吗?如果是话。有一个简单的实验。让他一边去,问问他两个问题并记录下答案。首先问他什么是设计模式?然后再问“说出你能回忆的设计模式的名字。确保你一对一的情况下问的否则在一个房间的其他顺序员会插话。如果你个程序员,阅读下面的段落之前先写下你答案吧。
久经考验的方法。当程序员遇到反复呈现的问题时,设计模式是用来解决软件开发中重复出现的问题。通过应用合适的设计模式来解决问题。设计模式是由最聪明的电脑科学家设计进去的历经了时间的考验,被认为是好的方法。使用设计模式,顺序员不需要自己想方法去解决所有的编程难题,可以使用设计模式。设计模式节约开发时间,能开发出更灵活,可靠和健壮的软件。设计模式重用了概念的想法,解决方法的设计理念,考虑了人的使用。非常棒的想法,让许多事情更合理了
但事实是设计模式已经(几乎)陨落了,而是闭门造车,设计模式应用的胜利的先决条件是顺序员在遇到重复呈现的问题时能够意识到存在但如果顺序员不能意识到问题的存在将不会知道已经有人解决过类似的问题了也不会知道还有设计模式的存在不是应用设计模式来解决这些普遍存在问题。用自己的方法来解决问题。花了更多的时间却写出可靠性差的代码。
就不能用设计模式来解决问题。设计模式的陨落是因为大部分顺序员不足够了解它要解决问题时不能意识那些重复呈现的问题的存在如果他不能意识到问题。让他写下每个他能够回忆起的设计模式的名字。但相当多的顺序员根本就不知道什么是设计模式,面试中我要求过几千个顺序员解释设计模式面前的概念。或者他相关知识太薄弱,以致于就算碰到问题时,知识也不够处置这些问题。很少的顺序员可以说出他对设计模式的理解。非常少的人知道多于四五种。更少的人可以描述出设计模式能够解决的问题。这意味着大多数程序员在日常工作中遇到一些普遍的问题时,会用自己的方法去解决,而不是采用很普遍的解决方法(设计模式)
显得笨手笨脚。不了解设计模式的顺序员们当读到用设计模式开发的代码时会感到迷惑。不能够理解其他顺序员为什么要用这种方法来解决问题。面对这样一些非常普遍的问题时或者遇见设计模式的代码时。
可以用术语来阐述复杂的问题,设计模式也是一种通用语—一种顺序员皆知的语言。便于让其他人明白。但设计模式已经陨落了不能用一种你不懂的语言来交流,大部分顺序员都不能作为一种概念来使用它设计模式是一种很少人会说的通用语。
许多聪明的顺序员仍然知道它使用它这些人是个例外。正是努力推广的结果,但设计模式还没有完全衰退。才干让MVC这个设计模式让所有顺序员都熟知,就算是对设计模式知之甚少的人都熟知。应该对设计模式有深入的理解。应该记住设计模式能够处置的问题,设计模式已经衰退了因为大部分顺序员没有意识到计算机科学中的重要性。许多雇主会考察应聘者对设计模式知识的理解。如果你一个专业的顺序员。这样你碰到时,能快速识别出它没有理由找捷径,也不能对它只一知半解。去成为一个设计模式方面的专家吧—努力学习,成为真正的专家。需要更多的顺序员成为设计模式方面的专家。如果有了足够的专家,可能有一天我可以说设计模式是一个成功。