【设计模式】开篇

来源:互联网 发布:unity3d vr手游 编辑:程序博客网 时间:2024/06/02 19:25

每次做一件事的时候,我都会试着去想明白自己做这件事的动机,倒不是因为我是一个“有用主义者”,而是自己经常“三分钟热度”的去做事,频频放弃而反省出来的:做事要有明确动机,靠毅力去坚持是不可靠的(至少我对我自己毅力的认识是这样的)。

1.不懂设计模式你会遇到哪些问题?

作为一个使用java这种面向对象的语言,不得不懂点设计模式,不然可能出现如下这些场景:
1.不懂点设计模式,读系统源码的时候,你只会双击666,惊叹源码写的真好,却不知道为什么好!
2.不懂点设计模式,写业务代码的时候,面对需求的改改改,你只能嚷嚷着“立字据”!
3.不懂点设计模式,去面试的时候,你只能等等等,却杳无音讯!
4.不懂点设计模式,接手你代码的人,只能评价你的水平渣渣渣!

2.关于我对一些“不应该学设计模式”观点的见解

关于网上很多该不该学设计模式的讨论,我谈谈自己的看法:
1.装逼论:设计模式也就技术装逼的时候能用用。关于这中言论,我是不认同的。设计模式的术语词汇可以作为技术交流的共识词汇,方便程序员之间交流。比如要解决一个技术问题时,你的同事告诉你用解释器模式可以解决,那么当你也知道解释器模式时,这次沟通便算完成,否则,需要用一堆语言向你解释怎么处理这个问题。术语是两个术语信息共识的人最简洁的沟通词汇

2.缺陷论:很多人说面向对象之所以有设计模式这么一说,是因为这些语言本身的缺陷导致的,而设计模式是丑陋的,编程者需要通过这些补丁把不优雅的东西补的看似完整。对于这种论点,我认为既然语言已经有缺陷了,这是既定的事实,我们学设计模式也正好是种解决问题的手段,我们达不到那些从语言高度来评判设计模式优缺点的水平,我们达不到这种高度,何必苦想设计模式本身是不是真有问题。听听古人训:吾尝终日不食,终夜不寝,以思,无益,不如学也!

3.会用论:很多人说设计模式这东西不用学,你会用设计就行。后半句话本身说的每次,会用就行。但是,你不学真的会用么?也许你通过大量实践,最后殊途同归,做到了精巧的设计,但学习设计模式应该是很好的捷径。

3.结论

面试要用,写代码要用,读代码要用,就连技术性装逼你也得用设计模式。“设计模式”这个词耳朵已经听出老茧的,但是,可能很多人却还仅仅停留在听的阶段,并没有真正掌握。而网上的一些教程往往都是用了些牵强的故事去解释;又或者故事很生动,看完的时候感觉明白作者要表达的意思,但自己要用的时候发现怎么也用不上力。

我为这样的感觉痛苦很久:听说设计模式,放弃设计模式,入门设计模式,放弃设计模式,继续入门,继续放弃,这个不断放弃的过程中确实痛苦,既然这样,长痛不如短痛,一次把这玩意儿研究个透彻,那么以后就可以彻底放弃设计模式了。

如此,我们有“不得不”学习设计模式,并且“不得不”学个透彻。“而学习,实践,总结,分享”是快速提升的手段,这则是我写设计模式系列文章的理由。

原创粉丝点击