考虑以下场景:
好吧,专注黑设计模式十余年的我来凑个热闹。
就设计模式而言,其本身没有任何问题。
所有的设计模式,都是广泛运用于OO软件开发中的常见的一些Pattern(个人认为应当翻译成手法,而非模式)。
这些Pattern我都用了好多年了,并且也将一直用下去。
真正流毒甚广的,就是GoF的这本书《设计模式》,或者说中文版流毒最甚。
设计模式这本书的英文全称是:Design Patterns - Element of Resuable Object-Oriented software design
从英文原文来说,问题不大,因为大概意思是:一些设计手法的集锦,进行可复用的面向对象软件设计的基础。
中文版翻译成设计模式:可复用面向对象软件的基础。一下子就高大上了有木有?甚至于很多人根本都不知道这个小标题,只知道:《设计模式》,卧槽,又是设计又是模式的。这一定是葵花宝典一样的不传之秘,不学会这个,你好意思说你会做软件设计?
结果就是一帮子像我这样的把设计模式用了几年的人,因为没听说过神马装饰模式,神马享元模式,一下子就low爆了好不?
设计模式你妹啊!
就是一大堆有几年经验的程序员都知道的手法集锦而已啊,说白了就是写给第一次去西餐厅吃牛排的二货的一本入门手册而已。
软件开发中的Pattern何止20余种,成百上千好不?像PHP里面的$conn || $conn = mysql_connect( $server );这也是一种Pattern啊,反复出现啊。
《设计模式》的流毒在于,一本讲Element的书被抬高到了银弹的程度,没有银弹啊你们这群low逼和二货老板,回去把《没有银弹》再反复读十遍。
《设计模式》的流毒还在于,他给low逼们一条快速提升逼格的途径,那就是把所有设计模式的名字都!背!下!来!
君不见多少二货整天乐此不疲的背诵设计模式的名字,而连一行像样的代码都写不出来。
顺便说一下,还有很多人说,设计模式建立了一套话语体系,让我们这些有逼格的程序员可以用一个名词来指代一个三两句话说不清的Pattern,提高了沟通的效率。
不得不说我曾经被这种说法唬住过,
但事实的真相是,程序员其实是这样沟通的:
这个类负责创建这个对象,对。然后这边包装一下,对的。
嗯,你这个类就是针对他的Interface做的一个Adapter,是的。
你这个只创建一次,提高性能。对。
和那些高大上的名词有个屁的关系。两个程序员在一个层次的时候,根本不需要任何装逼的名词都能很顺畅的沟通。
最后送所有程序员两句话:
通向二逼之路,常由逼格铺就。
没有银弹。
共勉之。