端午节学校放三天假,我待在宿舍,不知是哪来的念头,我开始了在51CTO技术博客中写下自己文章,目前主要关注于Java实现的设计模式方面。因为这一学期以来看过设计模式的好几本书,也互相比较了一番,愚蠢的是大多数都是在自己脑袋里尝试着理解,很少把各个模式都用代码实现,学习效果非常低下。
如今两天过去了,虽说这些文章几乎无甚含金量,但是,却记录着我学习思考的点点滴滴。两天下来,文章刚好10篇,在写每一篇文章的过程中才发现之前自己的理解和掌握是很不足够的,这一过程帮助我、促使我更多地去思考,学习效果会好一些。
说来让我兴奋的是,在我写了第2篇文章之后,博客中终于有幸地迎来了我的第一位贵客,之后更是有幸得到了其给我文章的第一个评论。这都大大地激发了我的写博积极性。平时也从许多过来人的文章中看过说一位好的导师对一位程序员的成长是至关重要的!而这时,我在意识中默默地将这位贵客当作我的“导师”,不因为什么,只因为他是一位前辈,而且在无形中给了我莫大的激励!感恩...
自助者天助,我不能总是依靠着别人或者外界环境能够给我什么。当我在精神上得到了别人的肯定之后,接下来必须自我激励,要不要努力向上爬就看自己的了。
但是,人在奋力往目标前进的过程中也要时不时地停下来休息、思考,和准备下一阶段的前进。学而不思则罔10篇文章之后该停下思考、总结一下了。
1、设计模式中有创建型、行为型和结构型,第一类中的5个总算是都写成文章了。但是,在对比各个模式时总会觉得迷迷糊糊,好像几个模式都有或多或少的相关性,也就是说彼此之间并不是完成相异的。看来要真正理解各自的特点,唯有在实际应用中多多注意了。
2、现在想来,3类模式似乎一一对应于平时我们常说的3个字母“2w + 1h”。
创建型:what,我们只需要一个东西(what),在我们获得之前不去理会它内部是怎样的构成,获得之后也不去计较它有什么功能、操作,反正我就是要这个东西(what)而已,给我就能让我满足。这是不是因为创建型的模式强调在对外封装隐藏这一方面所引起的呢?
行为型:how获得了某个想要的东西(what)之后,我们就很有必要来研究这个东西具有什么功能,即它是怎么(how)工作的,或者说我们应该让它怎么工作,我们总要学会怎样去使用(how)手中持有的东西啊。我想,这是学习、理解这一类模式应该关注的一个点吧。
结构型:why,个人认为这是最高级的一类了,一般说到“为什么why”时就是最最有难度的了。手中持有一个东西(what),并且似乎已经了解它有什么功能(how)、掌握了怎样使用(how)它。在这之后,就该开始着手于解剖这个东西(what),通过探究其内部构成(why),进而回过头来促使我们更加清晰地弄懂怎样使用(how)才是正确无误的。
其实,上面这“2w + 1h”的学习路线和关注点恰好跟我的这位前辈在其一篇文章“暗喻和软件 Metaphor and Softwarehttp://bj007.blog.51cto.com/1701577/328519”中给我的回复是有一定相似性的,回复是暗喻是认识不熟悉领域问题的一个有效途径。但一旦理解问题后在有精力和时间的情况下,我们还是需要去真正了解它们的机制、原理等相关理论。
所以说,在我还未能进入“why”这一阶段时,我只能按照前辈说的那样以暗喻的方式来帮助我初步理解一些概念(what),之后才能根据这些概念来操作、实现(how)一些功能。当达到一定程度时,我相信人都会不满足于了解到的仅仅是表面外在的知识的,所以,这种个性会促使我们深究内部原理的相关知识的。