中间件技术与应用试卷

  • 格式:doc
  • 大小:111.00 KB
  • 文档页数:6

下载文档原格式

  / 6
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

2016年度中间件技术与应用试卷

姓名:学号:

一、简答题:

1.现代应用系统的基本特征?(6分)

2.按照IDC的分类方法,中间件分为哪几类?(5分)

3.事务处理中间件模型包括3个组成部分,分别是什么?并说明各部分的作用。(6分)

4.消息中间件的工作原理是什么?(5分)

5.面向对象的设计模式按作用可分为哪三类?(6分)

6.可复用的面向对象设计的几个原则是什么?(4分)

7.三层Web应用程序模型组成?说明各层的作用。(6分)

8.请说出框架和模式的区别?(4分)

9.设计一个RMI中间件,由哪几部分组成,说明各部分实现的功能。可举例说明。(8

分)

10.请说出下面这张UML图中各类的关系:(5分)

11.根据以下类图,请说出是哪种设计模式,并说明模式组成的角色?(每题5分,共15

分)

图11题-1

图11题-2

图11题-3

二、程序分析题

1. 请说明下列代码实现所用的是什么模式?(3分),画出类图(5分),并写出输出结果。(2分)

public abstract class Bird{

public abstract int fly();

}

public abstract class Debird extends Bird{

protected Bird bird;

public Debird (){

}

public Debird (Bird bird){

this.bird=bird;

}

}

public class Sparrow extends Bird{

public final int DISTANCE=100;

public int fly(){

return DISTANCE;

}

}

public class SparrowDebird extends Debird{

public final int DISTANCE=50;

SparrowDecorator(Bird bird){

super(bird);

}

public int fly(){

int distance=0;

distance=bird.fly()+eleFly();

return distance;

}

private int eleFly(){

return DISTANCE;

}

}

public class Application{

public void needBird(Bird bird){

int flyDistance=bird.fly();

System.out.println("这只鸟能飞行"+flyDistance+"米");

}

public static void main(String args[]){

Application client=new Application();

Sparrow sparrow=new Sparrow();

SparrowDebird sparrowDe1=new SparrowDebird(sparrow);

SparrowDebird sparrowDe2=new SparrowDebird (sparrowDe1);

client.needBird(sparrowDe1);

client.needBird(sparrowDe2);

}

}

2.请说明下列代码实现所用的是什么模式?(3分),画出类图(5分),并写出输出结果。(2分)

public abstract class Drug{

String constitute;

String name;

public String getName(){

return name;

}

public String getConstitute(){

return constitute;

}

}

public interface DrugCreator{

public abstract Drug getDrug();

}

public class AmorDrugCreator implements DrugCreator{

public Drug getDrug(){

int [] a={200,5};

Drug drug=new Amorolfine("甲硝唑胶囊",a);

return drug;

}

}

import java.util.*;

public class Application{

public static void main(String args[]){

DrugCreator creator=new AmorDrugCreator();

drug=creator.getDrug();

System.out.println(drug.getName()+"的成份:");

System.out.println(drug.getConstitute());

}

}