对于程序员来说,设计模式和算法哪个更重要呢?

作者:知乎

来源:http://dwz.date/eYck

在知乎上看到这个问题,有些答案写得很好,很有意思,分享给大家。

知乎网友晓磊的回答:

算法像是单兵的作战能力和武器装备,设计模式像打仗列的阵型。只是单挑的话,阵型就不重要了(叫单例模式也可以吧);如果是群斗,请参考戚家军是如何用鸳鸯阵吊打单兵作战能力爆表的日本武士;如果上升到产品成败的战略高度,不好意思,除非能开挂做到《硅谷传奇》里男猪脚那个牛逼的压缩算法,同时还要开主角光环才行个人建议先学好算法,会养成一个工程师必须具备的心态:不断优化自己程序的效率,低效一点都无法容忍。

妥协的事情等到开始工作后再慢慢做吧。最最不济,学好算法,面试的时候也是极有用的.....至于设计模式,学也只是摸到皮毛,这需要大量的实践经验才可以。很多人在写了n年代码,直到开始带团队单挑项目后,才发现23种设计模式是这么牛逼闪闪和有用。

知乎网友 Intopass 的回答:

算法是如何去造更好的砖块,钢筋,水泥。

设计模式是如何使用这些组件去盖房子。

对于C程序员他们一般喜欢从砖头开始造起。

对于Java程序员他们一般喜欢用别人造的砖。

对于新手来说,积累经验是最重要的,研究理论不如边干边想。

Sisyphus 的回答:

算法和设计模式归根结底代表了两种编程思维。一种编程方式强调透明的数据结构和算法,另外一种强调继承多态等OO特性。前者修改逻辑容易而扩展数据类型难,后者扩展类型容易而修改逻辑困难。

均各有利弊,当然这仅限于OO编程语言中,放到其他语言中讨论可能不太适合,比如说FP。一切都是对象只是神话,在合适的时候选用合适的工具最重要。

超有才华的母猿 的回答:

算法更基础,而设计模式需要有了一定的实战经验,才能理解它给你在代码架构设计中带来的收益。而从现在的大学计算机课程设计来看,《数据结构与算法》这门课必然会有,而《设计模式》则不一定有。它就像中小学的性教育,很重要,却不被重视。

简单地说:算法实则是更加基础的东西,对于初学者来说可以一开始就学习。但设计模式,则是需要更多实战经验才能够有用。


推荐阅读

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值