论框架和框架思维
前言
知识非我所创,所以即便具备扎实的IT知识,仍然令我不得开颜。可是,思维模式由我的个人经验所悟,百分之百的原味原创。IT中有软件模式,人的工作和学习中也有各自思维模式,这些都是勤劳和汗水的结晶。从小农经济走向集种式的资本经济,这是生产力沉淀和积累的必然结果。同样道理,把我的所有思维模式沉淀下来,并烙上个人印记,这也是大量沉淀之后历史发展的必然阶段。后期,我计划将自己所有的经验总结都汇总起来,并冠以名号,不仅有利于更好的修订,也是为了知识产权的保护。
正文
最近刷头条看到了一篇文章:《请停止框架的学习》。首先在此声明一下,我是从头条上看到的,不是在公众号上看的。因为我很少看其他人的公众号,感觉大多数人都是扯淡而已。尤其那些日更族,好的内容怎么可能是日更呢?很多人辛辛苦苦写文章,最终都会变质到出卖自己的灵魂罢了,乱接广告,乐此不疲。
言归正传吧。虽然是国外人写的,但是我依然感觉这是一篇没有水准的烂文。我承认英语国家的人有语言优势,编码对他们来说更容易一些,所以普遍的水平稍微好一点。
原文作者只看到了框架,他没有更深层的思考一下。真正对IT生涯有害的不是框架,而是框架思维。框架和框架思维是两个不同的事物。即便你扔掉框架,但是你仍然用框架思维去学习其他的东西,也不会有什么好结果的。
这里我说一下框架和框架思维的区别。框架,不必解释,mybatis就是一个框架,spring就是一个框架。框架思维是一种思维模式,其主要特点是:重视规范,无大局观,不懂取舍。
规范往往是框架自身的特征,跟框架绑定到一起的,一旦你学了,就感觉会用框架了,有明显的进步,可是技术更替之后,框架过时了,那么之前费尽心思掌握的规范则很快就失效了。比如说mybatis里面的动态sql功能,涉及到一些元素(if,choose,trim),也包括底层ognl的东西,还有mybatis日志等等,很多都是一些工程化的东西。这些东西只需要顺手抓,即便有些细节踩了很多的坑,也应该学会放手,别把见识和教训当能力。
从大局来看,mybatis与sql是一脉相承的,都是属于数据存储领域。学习mybatis的时候,千万不能仅仅局限于此,要上升到更大的格局。对于sql而言,一块是索引,一块是事务,这是sql的两大支柱。但是在mybatis里面,事务部分只是一带而过,mybatis总不能把事务当做卖点来宣传吧,它宣传的的重点只能是映射。可是我们在学习mybatis的过程中,一定要有大局观,深入sql里面事务,把事务学好了,不仅mybatis没有问题,而且spring里面的事务管理也能更深刻的理解。
重视规范、无大局观、不懂取舍,这三者其实都是有一定的内在联系,不懂取舍的人,肯定是无大局观,无大局观的人往往深陷工程细节中无法自拔。
大多数人比较懒,连mybatis的皮毛都没有摸全,这肯定是不行的。这些人还轮不到别人提醒他“请停止学习框架”。这些人应该提升如何系统化学习的能力。连一个框架都没有完整的摸上一遍,往往不是懒,而是不会系统化的学习。
少数人太勤了,搞个手写mybatis,甚至有人钻mybatis里面研究ognl问题,还这类人该来个当头一棒:请停止学习框架。这些人不是高手,而是“能手”,是“忽悠小能手”。如果水平高,请不要写这种demo玩意;如果水平低,就不要去山寨mybatis,太自不量力了。请尊重点mybatis吧,在mybaits这个宝藏里面,动态代理,软虚引用,类加载,序列化存储,各种精华比比皆是,岂是一个初学者就能随便仿写的,画虎不成反类犬啊。
群二维码过期了,站长