有没有用,得看你的程度、你主要解决什么问题、你负责的部份而定。
若你的程度还没到那(还在学习怎么编程阶段),看了自然懵逼;
若你解决的大部份是商务业务逻辑,能用的设计模式不多,因为需要的是商务模式(就是参考设计模式原理,自己设计商务模式);
若你负责或参与应用框架(全部或其中一小部份),或与其相关,那帮助就大了。
当然,若你程度还不到,你也可以藉由学习设计模式使自己提升程度,
但得一步一步来,急不得。
一般先从某个与你要处理的问题相关,常会遇到的模式开始学起,一次学一个
(除非你念书时期就发现自己很适合先学全再用,我就不是,所以我选择一次学一个)。
你仔细看,网上查一查,大部份的人说起设计模式,都只会说出其中一两个,就明白了。
网上看到的,大部份人最常提的是单例、工厂……这几个,
我不是从这几个学的,因此我最常提的不是这几个。
我第一个学会,到工作中最常用,也最常要求下属使用的,是策略模式,
因为我们经常要处理“一个问题,两种实现”的情况,
比如一个功能,要求既要支持串口通信,又要支持TCP通信,而对调用方来说最好不要知道它们的区别,
这就是典型的策略模式场景。
这种情况,一年遇到十来次再正常不过,
因此不可能不学,也不可能学不会。
遇到这种问题,我要求他们用“策略模式”解决,
我不会再说太多,只说这四个字,
我要求他们,我说这四个字,他们就要明白什么意思以及怎么做,我直接要结果。
刚开始他们听到我这么说也是很懵逼,很痛苦,
我逼他们学,通常一晚上就会了(因为策略模式的概念一点不难),
当然实际吃透得折腾好几次,但我说了,一年遇到十来次嘛,他们总会学会。
人生中学的第一个模式,肯定很难。时间久了他们习惯我这么指示,就好了。
等他们习惯第一个模式,我便开始增加他们会的模式,通常是实际用到时才要求他们学。
一年下来,他们平均会3个。(忘了说,他们都是刚工作第1至2年的程度)
在我公司,他们一般最早学会的,是策略模式、观察者模式(又称做事件机制)和适配器模式。
在交待工作时,我就这么说:
这问题,用“事件”的方式处理,以达到………效果;
或者,这个类提供“事件”让别的类调用;
别看“事件”简单,刚进公司的,有的至少得折腾四到五回,才终于明白怎么做。
第一次学,至少得回家想(一边百度)3-4天才有点明白。
一个新员工,我要求他用事件机制解决,前2-3次还会有点耐性的指导,
到第4次如果他还不会,我就会发火,然后再看,他就会了。(对,发火是故意的,给他压力)
这就是他们学习前几个模式并能应用的实际情况了。
这期间大约一年。
到此,你觉得设计模式有没有用?
当然,每个人的情况不同,学习过程不一定是这样,
关键点是只要你在这行,一般一定用得到其中几个模式,
等你学会几个,并且常用,时间久了自然就明白了。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。