百科问答小站 logo
百科问答小站 font logo



设计模式有何不妥,所谓的荼毒体现在哪? 第1页

  

user avatar   bai-ru-bing-58 网友的相关建议: 
      

考虑以下场景:

  1. 有人和你反馈了一个bug,你观察了下这个bug的表现,原因猜的八九不离十了,但是在代码里翻来翻去、跳来跳去就是找不到真正实现的地方。
  2. 你发现代码里并没有正确处理A和B的关系,然后能改A的地方看不到B,能改B的地方看不到A,剩下的地方两者都看不到。
  3. 你发现当前的为了可扩展性搞得无比复杂的设计,为了扩展一个功能还是要改一大坨东西。
  4. 未完待续。

user avatar   Ivony 网友的相关建议: 
      

好吧,专注黑设计模式十余年的我来凑个热闹。

设计模式而言,其本身没有任何问题。

所有的设计模式,都是广泛运用于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,是的。
你这个只创建一次,提高性能。对。

和那些高大上的名词有个屁的关系。两个程序员在一个层次的时候,根本不需要任何装逼的名词都能很顺畅的沟通




最后送所有程序员两句话:

通向二逼之路,常由逼格铺就。

没有银弹。


共勉之。




  

相关话题

  维护一个大型开源项目是怎样的体验? 
  为什么GCC的版本号增速比以前快这么多? 
  在业务需求完全一致,技术指标要求不一致时,是否应该为此提供使用不同优化算法的接口? 
  为阅读应用添加内容编辑功能是否很难? 
  程序员讲到底就是”增删改查“吗? 
  程序员把工作完全自动化了是什么体验? 
  为什么从机器码反推出C代码是不可能的? 
  C#中字符串可以使用可变大小的内存,为什么数字不能? 
  MFC真的过时了吗? 
  8岁儿童要选奥数、围棋还是编程? 

前一个讨论
为什么CPU切下来就能用,没有起始位置吗?
下一个讨论
Golang、Kotlin、C#、JS、Python等都有协程,市面上的协程有什么本质上的区别?





© 2024-11-21 - tinynew.org. All Rights Reserved.
© 2024-11-21 - tinynew.org. 保留所有权利