且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

《设计模式沉思录》—第1章1.2节观察

更新时间:2022-01-15 20:54:54

本节书摘来自异步社区《设计模式沉思录》一书中的第1章,第1.2节观察,作者【美】John Vlissides,更多章节内容可以访问云栖社区“异步社区”公众号查看。

1.2 观察
澄清了这些误解之后,人们对设计模式的反应不外乎有两种。下面我会通过一个类比来对它们进行描述。

设想有一个电子爱好者,虽然他没有经过正规的培训,但是却日积月累地设计并制造出了许多有用的电子设备:业余无线电、盖革计数器④ 、报警器等。有一天这个爱好者决定重新回到学校去攻读电子学学位,来让自己的才能得到正式的认可。随着课程的展开,这个爱好者突然发现课程内容都似曾相识。似曾相识的不是术语或表述的方式,而是背后的概念。这个爱好者不断学到一些名称和原理,虽然这些名称和原理原来他并不知道,但事实上他多年以来一直都在使用。整个过程只不过是一个接一个的顿悟。

现在让我们把镜头切换到一个大学新生,这个新生正在同一个班学习同样的课程。他没有电子学的背景,有的只是大量的轮滑经验,没错,但就是没有电子学的背景。对他而言,学习新课程极其吃力,这并不是因为他笨,而是因为这些内容对他来说完全是新的。这个新生需要花更多的时间来理解和领会所有的内容。通过努力学习再加上一点毅力,他最终完成了所有的课程。

如果你觉得自己像一个设计模式爱好者,那么你会更加有动力。如果你觉得自己更像一个新生,那么请振作起来:你在学习好的模式上的付出是不会白费的,只要将它们应用到自己的设计中就会得到回报。我保证。

但对有些人来说,电子学这个类比可能不太贴切,因为其中包含了“电子技师”的内涵。如果你也这样认为的话,那么不妨考虑一下Alfred North Whitehead在1943年说过的一句话,虽然是在不同的场合下说的,但它也许会更加贴切:

艺术就是将一种模式强加于经历,以及识别这种模式时所带来的审美享受。

①指此书英文版原书页码。——编者注

②我相信不会有比这个比喻更贴切的了。

③如果想订阅这个邮件列表,请发邮件到patterns-discussion-request@cs.uiuc.edu,并用单词“subscribe”作为邮件的标题(没有引号)。

④Geiger counter,一种用来探测放射能量的仪器。——译者注

本文仅用于学习和交流目的,不代表异步社区观点。非商业转载请注明作译者、出处,并保留本文的原始链接。