具体来说是从去年的11月18号开始看DRP视频的,不过看了没几集就停下了,因为要做课程设计,并且这个课程设计也是我喜欢的(关于课程设计:密码学暂时告一段落),因此花费了大概两周的时间完成了DES加密以及差分攻击的算法实现。看工作记录时间完成时间是12月3号,此时已经开始去统计局实习了。
每天下午实习,上午和晚上继续看视频,本来这样的学习节奏也可以,我估计按照这样的节奏,DRP项目的学习应该早就完了。不过到底是活在现实社会中的人呀,总会有些什么事干扰干扰你。
话说刚实习没几天家里面来电话,说是有一个朋友要做一套财务系统和一套会员管理系统。心想也不是外人,不好推脱,那就做呗,和朋友通过电话交流之后发现,其实根本就是一套系统,会员管理本身就涉及到财务,因此其实就是要做一个简单的OA系统。连续交流了两天,也大概了解需求了,谁知朋友这时说话了,说你先停停,我这边有几个朋友说两三天就可以做出来,我一听就愣了。两三天就做出来?!还说改天把朋友介绍给我认识。额,莫非碰到大神了。
不过后来又过来联系我,说那边不专业,等了一周之后有说还需要一周。哎,这时我突然发现我的个人特质:太实诚了。我直接就是报三周。看了以后得跟人家专业人士学学。
既然又找我了,那就接着做吧。不过这次干脆先报个价。要是行就做,不行就拉倒。报完价之后朋友说这个价位不高,说是要和领导商量。让我等着。
我是左等等,右等等,等了一周也没回话,心里还犹豫是不是报价报高了。这一周可算是把时间都花到这上面了。
到底是年轻呀,心态没放好,等了一周心里比较急躁了。导致的结果就是DRP项目的学习没有继续。不过还好,这段时间不断的复习设计模式方面的东西,也打算写一系列设计模式的文章,其实就是给自己看的。
近两周的时间眨眼即过(路人甲:您着眼皮可太沉了,眨个眼都得用两周),转眼到12月12日,心态放定,还是继续学习才是上策。
于是依然是一边实习一边学习,到昨天正式完成该阶段学习。
学习心路总结:身在社会中,到处都是浮云,一不小心,心就跟着浮了,因此应该向学习不倒翁的精神,把心压在屁股上,任他神马浮云都不为所动才行。社会是浮躁的,人心可以坚定。
好了,开始进行知识总结。
在DRP视频一开始进行DRP介绍,业务背景,主要是领域方面的知识。关于这点有必要从这篇文章解耦出去单独学习。
首先是进行需求分析,其实就是业务领域方面的东西,然后从需求中提取对象,进行数据库设计。不过这个项目的视频讲解中关于这部分不多,因为直接根据一个界面的DEMO来做,有了DEMO就等于是有了需求。因此这个视频还是不够彻底,不过也只能这样了,不可能一个培训结构短期培训就可以出一个设计师,也就能培养出来一个一般的开发人员。
不过关于数据库的设计还是比较不错的。主要是其中有一部分是没用过的,第一个就是关于数据字典表的设计,这个里面主要是保存项目中用到的所有的关于类别的数据。这样可以有效的减少表的使用。第二个是通过单独的表来完成对表主键的维护,这个方法在以前确实没用过。
然后就是系统设计了,关于系统的总体架构上篇文章《DRP项目学习总结:DRP整体架构》已经分析过了,关于MVC以前一直再用,设计模式也是一直再用,不过并没有把设计模式用的这么大,“大”的意思是指在系统中用动态代理模式完成整个Manager层的控制。这一块不光局限于知识点了,而是要看设计者的视野能放多高了。
看完视频,自己动手编码出现的问题还是不少的,俗话说程序是调出来的,光看视频依然是纸上谈兵。
整个视频内容还是比较简单的,无论是设计模式,MVC架构还是tomcat配置,这些内容都有接触,尤其是设计模式和MVC架构可以说是经常使用。不过在做java项目开发时和做.NET不同之处还是有一些的。
第一点就是关于包的划分,在.NET中,我们习惯划分出Entity包(实体层),BLL包(业务逻辑层),DAL包(数据访问层),和WEB包(界面层),在.NET里面应该把包称为类库更恰当些。并且是先分层然后在层中按功能划分模块;而在java项目中先是按功能划分包,每一个包中又进行分层。我想这点是因为.NET中的应用不如像Java中的这样方便,只需要使用import就可以了,.NET中还需要对dll进行引用才行。
第二点就是关于Servlet的使用,它很像是.NET中页面的后台代码但是它比起后台代码更加灵活,因为他是和jsp页面完成分离的,这样的结果就是在java的web项目中可以通过filter或者listener来完成从jsp到任何一个servlet数据的监听,而在.NET的web项目中我从没用到过,也不知道怎么用。(可能是我孤陋寡闻,如果你知道可以告诉我,谢谢)
整体总结:项目中虽然涉及到大大小小的小技术很多,不过这些都是浮云,没什么技术含量,看个例子就明白了,项目中的重点就是整个开发的流程以及整体的架构设计以及设计模式的使用,有了设计模式以及架构方面的一些使用经验,整个项目学习起来并不是很难。由此可见在思想层面上下功夫还是很有必要的,比如说设计模式以及架构设计。这些东西不管是在.NET还是java或者其他的开发语言中都是适用的,问题就是你会用不会用。