面向应用型本科院校的Java EE教材建设

2015-05-30 19:17:37王小正
计算机教育 2015年12期
关键词:应用型本科院校

王小正 杨 鑫 侯 青

摘要:在全面分析Java EE相关教材现状的基础上,重点阐述面向应用型本科院校的Java EE已有教材在编写目标、内容设置及案例设计等方面出现的问题,并针对以上问题说明教材的内容编排思路和案例设计具体方案。

关键词:Java EE;教材设计;应用型本科院校

0 引言

Java EE是Sun公司主导提出的轻量级企业级应用框架,为开发具有跨平台性、可扩展性、高稳定性的软件系统提供强大的支持,已在政府、金融、通信、电力等多个行业得到广泛应用,例如电子商务、电子政务系统。目前国内对Java EE工程师需求量很大,IDC统计数据显示,J2EE人才占软件开发人才需求的60%左右。几乎所有高校的软件学院和软件工程专业都开设了Java EE课程,相关的教材也如雨后春笋般涌现,使教师和学生有了充分的选择余地,有力地促进相关课程在高校的普及和发展。

1 Java EE教材现状

根据教材书籍适用的读者人群,可以把JavaEE教材大致分为3类:第1类教材适用的读者人群主要是具有一定的开发经验,有初步JSP网络编程基础,初步了解Java EE框架的开发人员。名为《轻量级Java EE企业应用实战》的书籍就属于此类教材,该书816页,详细介绍了JavaEE开发环境、核心技术及框架技术的原理和应用,内容非常翔实,应该说该书作为一本面向企业工程师读者群介绍Java EE技术的原理和应用的工具书是非常合适的。第2类教材适用的读者人群主要是高职院校的大三学生及社会IT专业培训机构的学员。笔者于2012年与企业工程师及相关教师合作编写的教材《Java EE项目实训教材》属于此类教材,该教材总共206页,删去了Java EE中涉及的许多原理性知识及部分内容介绍,主要以多个小案例和一两个综合案例来指导学生动手实践,从而初步掌握Java EE技术的基本使用。第3类教材适用的读者人群是应用型本科院校的大三或大四学生,《Java EE基础实用教程》属于这类教材,该教材与第1类教材相比,内容编排上做了缩减,省略了许多难度较高的技术细节,相比于第2类教材又增加了一定的原理性知识的介绍。

目前市面上与Java EE相关的第1类和第2类教材品种较多,应该说这两类教材针对特定的人群在内容编排和目标定位方面都是比较恰当的。而第3类教材品种较少,虽然教材的目录结构和所用案例是比较全面的,但是作为针对应用型本科院校学生的教材,还存在两个问题:一是该类教材编写的目标定位和应用型本科院校开设此课程的目标不是太吻合,学生使用此类教材学习后并不能够很好地把之前已学的基础知识融会贯通,没有达到巩固所学知识的目的。二是此类教材使用的案例相对分散,前后章节的案例没有连贯性,使学生在学习过程中不容易领会和掌握Java EE技术的要领。

2 教材建设实践

2.1 教材建设基本思路

鉴于当前面向应用型本科院校的Java EE教材所存在的问题和原因,根据教学过程中积累的经验和学生反馈,面向应用型本科院校的JavaEE教材的建设应围绕两个方面进行:首先,教材编写的目标应该与应用型本科院校培养目标一致,应用型本科院校培养的工科类学生既不同于研究型大学培养的高端人才,又有别于高职院校培养的技能型人才。因为技术在不断地更新,行业发展也在不断变化,培养的人才应该是既具有一定的专业理论功底又具有较强的实践工程能力的应用型人才,这类人才在今后的职业生涯中既能很快适应应用开发技术快速发展的环境,又具有较强的学习潜力,从而满足社会对此类人才的需求。为了达成上述目标,教材内容编排所涉及的知识点应该是相互贯通的,要能够让学生在学习过程中不断巩固之前所学的一系列专业知识,从而达到融会贯通的境界。在案例设计上要前后连贯、由浅人深、触类旁通,从而使学生相对轻松地、系统地理解和掌握Java EE的精髓。

2.2 教材内容编排概要

大多数院校都把Java EE课程开设时问安排在大三下学期,这个阶段的学生已经修完了许多专业课。因此该课程所选教材在内容安排上应把Java EE所涉及的相关知识与学生已修的专业课知识相关联,在介绍相关知识时应从学生已学知识进行延伸,从而使学生在学习过程中既巩固了已学知识,又能够更好地理解和掌握新知识。我们把Java EE所涉及的技术分为3个部分,每部分的相关技术及其涉及的知识点见表1。

从表1可以看出,Java EE是一门涉及面广、实践性要求高的技术课程,在校学生往往缺乏实际软件项目的锻炼,容易对Java EE技术的用途产生困惑,难以理解Java EE的复杂实现。但是Java EE中的技术涉及的知识点学生大多数都已学习或接触过,因此在教材内容编排和案例设计上应结合已学知识,使学生触类旁通,从而真正理解和掌握这些技术。

2.3 具体内容编排及案例设计举例

以“Spring”技术的内容编排及案例设计为例。

首先需要让学生知道“Spring”技术的实质是什么,由于“Spring”技术的核心是“控制反转IOC”,这其实是一种设计模式,学生初次接触这个概念是很难理解的。大三的学生基本都已学过软件工程这门课程,因此,内容安排上应该从回顾已经学习或接触过的软件工程的工厂设计模式人手。通过回顾工厂设计的优缺点,进一步阐述IOC的实质其实就是工厂模式的升华,然后进行具体案例设计,在案例中把工厂模式和IOC进行比较,从而使学生真正理解这种技术的实质,为今后学习和使用类似的技术打下良好基础。

“Spring”模块具体内容编排及案例设计如下。

工厂模式是通过专门定义一个类来负责创建其他类的实例,被创建的实例通常都具有共同的父类。如果简单工厂模式所涉及的具体产品之间没有共同的逻辑,那么我们就可以使用接口来扮演抽象产品的角色。通过该模式在一定程度上提高了程序的复用性,降低了代码的耦合度。

举例说明工厂模式的应用。

创建一个Java Project,命名为“FactoryExample”。建立接口Animal,代码如下:

package face;

public interface Animal

{

void eat();

void walk();

}

建立Cat类和Dog类,分别实现Animal接口。

Cat.java代码如下:

package iface;

import face.Animal;

public class Cat implements Animal{

public void eat()

{

System.out.println(“猫吃鱼!”);

}

public void waLk(){

System.out.println(“猫爬树!”);

}

}

创建Dog.j ava文件,代码如下:

package iface;

import face.Animal;

public class Dog implements Animal

{

public void eat(){

System.out.println(”狗啃骨头!”);

}

public void walk(){

System.out.println(“狗奔跑!”);

}

}

建立工厂类Factory,代码如下:

package Factory;

import iface.Cat;

import iface.Dog;

import face.Animal;

public class MyFactory{

public Animal getAnimaI(String name){

if(name equals(“Cat”)){

retum new Cat();

} else if(name.equals(“Dog”)){

return new Dog();

}else{

t h r o w

n e wlllegaIArgumentException(“参数不正确”);

}

}

}

建立测试类Test,代码如下:

package test;

import face.Animal;

import Factory. MyFactoy;

public class test

{

public static void main(String[] args)

{

Animal animal=null;

animal=new MyFactoyO.getAnimal("Cat");

animal.eat0;

animal.walk0;

animal=new MyFactoyO.getAnimal(“Dog”);

animal.eat0;

animal.walk0;

}

}

在简单工厂模式中,调用程序无需直接创建所调用类的实例,都是通过工厂类实现实例化,从而降低了程序间的耦合度。表面上是在一定程度上缓解了代码耦合问题,但实质上这种代码耦合并没有改变。通过IOC模式可以彻底解决这种耦合,它把耦合从代码中移出去,放到统一的XML文件中。而Spring框架则提供了更好的办法,开发人员可以直接应用Spring提供的IOC方式,即被调用者的实例工作由Spring容器完成,让bean与bean之间以配置文件组织在一起,对象间的具体实现互相透明,从而在调用的对象发生变化时不用重新修改并编译具体的代码。既降低了程序间耦合度,又减轻了开发者的负担。

控制反转的实现方法如下:

修改配置文件applicationContext.xml,修改后,代码如下:

<?xml version=“1.0”encoding="UTF-8"?>

xmlns="http://www. springframework.org/schema/beans"

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instancc"

xmlns:p="http://www.springframework.org/schema/p"

xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-bcans-3.O.xsd">

猜你喜欢
应用型本科院校
微课和慕课在应用型本科院校中的教学模式探讨
考试周刊(2016年88期)2016-11-24 14:52:49
应用型本科院校档案工作的管理与建设思考
商情(2016年39期)2016-11-21 09:10:24
高职与应用型本科院校协同开展技术应用型本科教育课程衔接的探析
科教导刊(2016年26期)2016-11-15 19:09:51
社会参与美国社区学院治理及对中国应用型本科高校治理的启示
职教论坛(2016年24期)2016-11-14 09:04:33
新建应用型本科院校教学管理队伍建设研究