24小时联系电话:15828505243

Java教程中有关Swing的纠结的处理方法

在如今这个Web为王的年代,纠结于Swing,显然是不值当,可这事就偏偏发生在我老人家身上。说起为什么我会纠结于Swing,这话可就长了。

早先我在设计Java课程体系的时候,在培训完Java SE后,安排的是一个长达一个月的Java桌面游戏项目开发实战。做游戏嘛,学生最有兴趣了,鬼瘾大的很,就连最不爱学习的人这时候也会通宵达旦地投入。这不,一两年的功夫,我们就积累了几十款小型游戏源代码,泡泡堂、勇敢的猪、网络五子棋、挖地雷、松鼠大战、赤色要塞、空战等等,五花八门的。一句话,没有他们做不出来的,只有你想不出来的。这一下,学习兴趣是浓厚了,基础编码能力也锻炼出来了。可时间一长,俺就越来越觉得不对劲。

首先,学生借口编游戏,就开始明目张胆地在教学用机上长了一堆大型游戏,美其名曰是找素材、找灵感。实际上,老师稍不留意,这些哥哥们上课时间就开始耍上两把。下课了,更是流连往返,不干正事,痴迷游戏,严重影响后面的课程。老师抓来抓去,屡禁不止,烦不胜烦。

第二,一个月的游戏项目开发实战,真正用于编码的时间相当少。三分之二的时间,学生用在选游戏、收集素材、试玩游戏上面。牵涉到复杂的算法,他们又不一定搞得定。得了,这下把带游戏项目的老师累惨。要知道,每款游戏的算法都是不相同的,每款游戏老师都要去研究,还干不干正事了?这下我们老师里面倒是被强迫出来了一个做游戏的高手(张成峰,朗沃教育著名的“奶爸”),为游戏而累惨这哥们,显然不是我们愿意看到的,呵呵。

第三,Java桌面游戏,需要大量用到Java 2D图形技术,偏偏我们的最主要就业方向是Java EE。也就是说,项目中用到的东西,对就业帮助不大。莫非你应聘Java EE程序员的时候,写上Java游戏,软件公司会认账?NO,上千名学生的就业实践证明,没有几个软件公司会对你曾经有开发游戏的经历而特别青睐你。

此外,项目五部某些人把朗沃当时的老师都写成游戏角色,我竟然成了最龌龊的老怪。哼哼,我至今依然很不爽,干吗不把我老人家弄成一个风流倜傥的大侠?那几个小子,小心我收拾你们^o^。

痛定思痛,为了不累惨张哥危及他婚姻大事,为了我老人家不再被学生在游戏中搞怪,为了某些人不再痴迷游戏,为了家长不再指责俺朗沃成了网吧、狼窝,为了被软件公司的“大人们”欣赏,为了......,我老人家就压榨尹哥哥,将Java游戏项目换成贷款计息服务器项目。

贷款计息服务器项目可以说是我们课程中的一个精华,融合了HTTP协议解析、Socket、多线程、集合、I/O、反射、XML解析、JDBC、JAXP、数据连接池、DAO、OO等等,基本上就是实现一个简单的Web容器,技术含量相对很高。在整个课程体系中,对Java SE和Java Web起到一个承上启下的作用。认真做过这个项目的学生,不仅Java SE基础编码能力没问题了,对抽象、继承、封装、多态的理解也大大加深了,学习下一门课程Java Web编程中的Servlet更是轻而易举。

无奈的是,即使我们如此重视这个项目,把它当做一个精华来讲授,反而还达不到Java游戏的效果。问题在于这个项目对初学者来说,业务虽然不复杂,但是技术理解难度有点高。于是,老师不得不带着学生一步一步分析,老师演示一遍代码,学生在下面再练习一遍。结果学生就失去了主动性,变成被动接受,老师也就成了奶爸。按说,如果学生学习习惯好,在学校跟着老师做一遍,回家后再自己重新做一遍,编码能力、理解能力都应该可以锻炼上来的。可惜的是,IT培训老师最最不能信任的就是学生的学习习惯。你甭以为你在学校努力教,加上屡次重点强调,他们回家就会复习,会把你讲授的能力再练习一遍,最终变成自己的知识。

此外,这个项目纯技术方面的东西居多,业务方面的东西相对很少,有些技术内容完全没法练习,比如,Swing、SQL。虽然我们SQL课程讲的很不错,但是练习的示例毕竟是小例子。如果没有大型项目的综合实战应用,加上复杂查询、报表等业务,要想让学生SQL功底更深厚一些,还是不太现实。更麻烦的时,如果此时不做项目练习SQL,学生经历过贷款计息查询服务器项目后,会逐渐认为SQL不重要,很快他们就会放下所有SQL的知识。到后面真正做大型Java EE应用时,由于使用的是Hibernate,他们又锻炼不了SQL。也就是说,贷款计息查询服务器项目纯技术的内容偏多,跟后面的Java EE应用开发项目没有什么太大的关联连续性。