转眼之间实习已近结束10来天了,早就有写点东西的冲动了,但由于各种原因,老觉的无从下笔,今天终于有时间静下心来,好好回味着说长不长,说短不短的三个月的实习时间了。
首先,我要强调的是阅历。我觉得大学生应该多出去转转,这是我最大的感触。这样我们才能了解别人的生活环境,了解别人在干嘛,闭门造车,永远也成不了某个领域的领头人。当我们学校还在教授一些ACCESS,Dreamweaver使用技巧的时候,却不知外面的人早就在使用mysql,redis,hadhoop等高端的技术了,正是这种当下教育和实际公司之间信息差,导致一些毕业生非常难找工作,或者很难找到薪水比较高的工作。
其次,我们要勇于挑战新事物。生命在于折腾,当我们遇到新事物时,不要心存畏惧,要敢于直视新事物。比如工作需要,我们需要换一个IDE开发环境,部分学生就开始,找各种文档,看这个IDE的使用手册,当然我不能说这种方法不好,但其实好多功能自己玩玩,就一目了然了。另外,在写代码时,我们不知道一个对象具有哪些属性,其实打印出来看看,就晓得了么,何必还要各种查阅呢?俗话说的好,眼见为实么。
另外,适当的时候,变换自己的工作环境。当你在一个工作环境中,已经不能很好的提升自己,或者已经看到自己的尽头的时候,如果你还年轻,或自认为很年轻,那么你可以考虑改变一下自己的工作环境了。
最后,总结下这段实习的所见所闻。在公司中,使用的yaf框架,这是一个原生C开发的php的框架,可以达到接近php原生语言的性能。在端上采用工厂、装饰者、单例、观察者、命令行等设计模式来应对多变的业务需求。采用MVC设计思想,由于业务需求太过复杂,这里的C只是起到一个路径引导的作用,将每个功能的处理单独做成一个文件。yaf采用类名和路径匹配,即由类名可以知道其文件对应的路径。当一个请求过来,首先,会到初始化control中定义的数组,然后找到该action下对应的文件,每个action会指向page层的一个文件夹。然后在根据参数中的另一个字段,决定用page层的哪个文件来处理这个请求,page层处理具体的业务逻辑,做严格的参数校验,然后需要数据则调用data层下的方法获取数据,数据可以是从外界接口获取(ral通信请求远方的接口)或者从库里面读(用dao连接数据库,读取数据)。最后将取得的结果,按需求过滤后,反向返回给action,在View层中采用相同的目录结构,自动渲染对应的模板,输出页面。这就公司的大概架构,这种架构,使得一个需求过来后,只需要添加必要的文件,开发少量的代码即可处理新的需求。然而,也有一个弊端,就是当一个需求牵涉到两个或多个功能的时候,就需要拼接口,另外即使一个很小的需求,也需要走一遍整个流程,总之,这种做法保证了可扩展性,却使得灵活性有一定的丧失。
总之,学生时代有机会还是多接触接触外面自己所关注的领域,这样才能使自己找工作的时候不是太被动,才能明白自己需要学什么,而不是盲目的学一些没用的,过时的东西。