首页 > 代码库 > 饕餮盛宴之设计模式

饕餮盛宴之设计模式

  

    老师集合八期、九期的师哥师姐,倾心准备了一场饕餮盛宴。为之三天的设计模式的讲解,不仅仅让我们巩固了知识,开拓了眼界,还让我们对好的学习方法有了更清晰真切的了解。这次模式的讲解,感觉收获颇丰。


一、总体思想

  1.看待问题要简单、抽象

学习一个东西,要学会极端化的来对待它,先从简单的开始。我们往往会选取一个中间值来讲解,结果把别人搞晕了,自己也晕了。

  2.学习要脚踏实地,搞懂的越晚,付出的代价越大

学习的初期,尽可能要还原学习的原貌,搞懂它,这样在学习的后期才能走的更轻松。如果现在能搞懂却不愿意弄懂,以后还会遇到其它的问题。越来越多的问题堆砌起来,更加不容易处理,形成更大的阻碍。

  3.甘于“笨拙”的前行

很多时候,我们总是习惯去寻找,更加省时高效的学习方法。其实这个时候,我们乖乖的把每个字都看一遍,都在纸上画一遍,效果可能会更好。比如学三级网络的时候,把各类的IP地址用0、1在纸上写一遍,这样看似很笨拙,但是实际比把时间放在寻找好方法上更省时省力。学习不局限于看多少遍,也不局限于看多少本书,只要达到同样的效果,用的时间少就好。

二、具体思想——学习设计模式的思路

1.多问几个为什么

是什么?为什么用它?用了怎么样,有什么好处?不用又怎么样?还可以跟什么结合在一起用?可以应用到什么样的场景中?学习其实也是一个面向对象的过程。我们面向的对象是学以致用。

2.全局理解模式

要结合代码、类图、关系来看待整个设计模式的学习。哪块代码对应类图的哪部分,哪根线体现在哪些代码中,这些要对应着去学习,不能单独的、片面的理解类图和代码。

3.找相同点和不同点

模式们很相似,都是有类图和关系构成。模式们又很不一样,即使有的模式类图非常的相似,但是经过功能对比,发现它们的侧重点并不相同。这样让我们对设计模式有了一个更加深刻的理解。有的模式还可以结合在一起使用,这样充分利用了两个模式的好处,又尽可能规避了两者的劣势,写代码的最高层次就是手中无剑、心中无剑的境界吧!

4.理论实践相结合

光有理论是不足以学好一项技术的。机房的实践、未来做项目的实践,会让我们对知识有一个更加立体的认知。仅仅有理论,只是纸上谈兵。

5.学习即生活

学习中的例子,生活中都有原型,只要我们拥有一双勇于发现的眼睛。老师讲的那些例子都很鲜活、生动,又没有因为生活的色彩而掩去了代码间的逻辑。跟生活联系,让平时束之高阁的东西变的亲切可人,让我们更加容易接受、吸收。

三、学习形式的感触  

1.师哥师姐犀利的提问,让我叹为观止

提问确实是让我们深入学习知识的好方法。师哥师姐每次一提问,我就特别想低头,因为害怕自己理解的不深刻,被提问,回答不好丢人。师哥师姐问的这些问题很有水平,但是我个人在学习过程中,遇难就想放过,结果导致自己的理解跟学的好的同学相差甚远。还记得前几天老师对我做的ppt不是很满意,其中很大原因就是因为自己在调查的时候浅尝辄止,并没有深入研究,只是看了个表面。每次都比别人多想一步,多研究一点,一年365天,那会是多大的进步啊。

2.积极参与,勇于发表自己见解

挺佩服那些敢于表现自己想法的同学。就像英语纠音一样,你不敢把音发出来,就永远没有人能帮你把英语的发音纠对。真正的勇士敢于直面惨淡的人生,敢于正视淋漓的鲜血。当然我们没有那么惨啦!真正的对自己好的人敢于把自己抛出去,即使说错了,也欣然接受别人对自己观点的“指指点点”。只有发现自己的不足,才是进步最快的时候。深切的体会到,更多的进步源自于阻力和批评,并非表扬和赞美。

3.给别人讲也是另外一种学习

给别人讲,首先自己要搞懂,搞清楚。否则别人一问,自己就歇菜了。给别人讲之前,要查很多资料,经过多方考证。说的话,做的ppt都是经过了深思熟虑的结晶。每一次的书写,思考都是对学习的另外一种深入。个人认为,能给别人讲出来才是真正的掌握了,消化了。


四、个人体验

     讲设计模式之前,我对各个模式都做了预习工作,在听代理模式讲课的时候,感触非常深刻。师姐抛出一个问题,可以不可以去掉接口?因为这个问题,开始动脑筋想:没有接口,就没有目的性。比如那个大话例子:代理替当事人送女孩礼物,不去实现送礼物的接口,让代理人代理啥啊!!!后来又讲到了一个貌似像外观模式的代理模式的登录实例,代理和被代理者的方法不一样。赶紧翻书,看代码里面代理和被代理者的关系,原来代理是new了一个被代理者,它里面的方法也是调用的被代理者的方法。后来看见好多个师哥师姐对代理的理解各异,争执不下,自己也有了一点小小的个人理解。代理吗,如果当事人能干的事情就不让代理来干了,如果自己好意思脸皮够厚,谁还让别人帮自己追女朋友啊!代理肯定是因为某些地方受限制,才会让别人代理的。比如远程代理,这就是地域受限;虚拟代理,就是图片缓冲时间较长受限;安全代理,就是因为访问权限受限制……
  当时讲课完,我还想师姐讲设计模式为啥不知道代理是被代理者的实例化,为啥把代理和外观搞不清楚,为啥光讲代理模式怎么怎么不好呢?现在一想,师姐真是机智啊!如果讲的都是对的,我也不一定会想这么多,去书中验证,认真查找,反思外观和代理的异同,思考代理模式的好处。这又呼应了老师说的那句话,有的时候不一定演讲者要讲的多么多么好,多么多么对,还可以把问题提出来让大家一起思考讨论。
     真正好的演讲者不是自己讲的天花乱坠,别人在下面哈欠连连,而是善于引导大家思考,达到让此次演讲内容深入人心的效果。正向引导,反向引导,能达到让大家思考的目的的都是好引导。反向引导,非常适合我这样,学的不怎么扎实,还想挑挑骨头,充充能人的人,O(∩_∩)O嘎嘎~  这就是对比思想的伟大啊!深深的受教了,开始说第一组是木有经过老师指导的,看来师姐和老师是一伙的。。。