在线测试系统框架中设计模式应用探究

在线测试系统框架中设计模式应用探究摘要:指出使用设计模式设计和开发框架的必要性。分析若干设计模式在在线测试系统框架中的应用,总结在线测试系统框架的设计方法,给在线测试系统框架的设计提供指导。关键词:设计模式;在线测试系统;框架设计中图分类号:F560文献标识码:A文章编号:1671-7597(2012)0610081-020引言本文描述了一个面向对象的在线测试系统框架,该框架运用了面向对象设计模式,构建形成了一个面向对象框架,使用一种常用的方法模型化了系统的复杂概念并详细描述了框架中层与层之间的协作关系。1设计模式与框架技术模式(Pattern)概念是早在二十世纪七十年代由建筑大师ChristopherAlexander提出应用于建筑领域的,WardCunningham和KentBeck在八十年代中期将其思想引入到了软件领域。设计模式方便复用以往成功的设计和体系结构,把它们用到框架中可以很好地吸收那些体现在模式中的宝贵经验,掌握设计模式可以使开发者对面向对象的设计思想有更深刻的理解而且,这些模式可以直接指导面向对象系统中的关键建模问题对于类似的问题背景可以直接套用。也就是说,使用设计模式能增强被包装类的复用程度,能够较好地应对需求变更,还可以减少类的藕合和依赖。2在线测试系统框架面对的问题框架是可复用的半成品程序,对框架加以补充定制可以输出满足具体需求的应用。通用在线测试系统必须能适应系统业务逻辑的变化,能满足使用不同试题库的要求,而且界面也必须容易调整,才能适应不同用户要求。因此我们有必要建立一个能减少分析设计工作,并能方便在其基础上复用和减少代码量的系统框架。3逻辑层设计逻辑层是系统中需求最易产生变化的层。为较好地处理系统对象间存在的依赖关系,可以将其分为外观层、业务逻辑层、持久化层和实体层。外观层的作用是隔离,目的是界面与功能的实现分开。业务逻辑层处理业务规则和逻辑的实现。持久化层为业务逻辑层提供数据访问服务。持久化层与数据库进行,实现数据增删改查。实体层是业务数据各层间传递信息的数据集。3.1设计实体层实体代表了业务对象在系统中的独立表达。简而言之:一个业务实体可以对应数据库表中一个或多个表,其属性基本取自这些表字段。我们先定义测试数据类作为所有实体类的框架类,再添加一些方法,每个类的结构用XML文件表示。实体对象根据XML文件由构造器在运行时生成。这里使用了生成器设计模式和工厂方法设计模式。生成器又名建造模式,是一种对象构建模式。它可以将复杂对象的建造过程抽象出来(抽象类别),使这个抽象过程的不同实现方法可以构造出不同表现(属性)的对象。有时候我们需要创建复杂对象算法,并使独立于该对象的构成部分以及它们的装配方式;有时候我们的构造过程需要允许被构造对象有不同的表示,这些情况都比较适合采用生成器模式。工厂方法相对简单,而且应用很普遍。我们先定义一个创建产品对象的工厂接口,然后将实际创建动作延迟到子类里。核心工厂类不需要负责产品创建,它是一个抽象工厂角色,只负责具体子类必须实现的接口,这样抽象化的工厂方法模式可以使系统在不修改具体工厂角色的前提下引进新产品。工厂方法可以使类的实例化延迟到其子类。这样就不用把应用类绑定到代码中,降低了系统耦合度。3.1.1协作用户登录后会生成考生对象,系统会把用户在线测试唯一标识通过消息传递给测试工厂类创建测试对象;测试对象包括规则编号,把规则编号传递给测试工厂创建出题规则对象,然后由测试对象(指导者)出题。生成器控制生成试卷。第一步按试卷的不同要求生成试题对象;第二步根据试题对象生成答题卡。3.1.2扩展1)变更在线测试题目参数不可能每次都改源代码,改变数据库中记录来生成新的出题规则就可以了;如果新增了约束条件或算法,也只要从出题规则类中继承新子类就可以了,这里应用的是策略模式。策略模式的应用也很常见。我们先定义一系列算法,同时将每个算法封装起来,并使它们可以相互替代。策略模式适用的情况:多个类只区别在功能不同,需要在运行时动态决定要执行哪套功能;需要在不同条件时应用不同的算法(也就是策略),或者策略会在将来有所扩展;对客户隐藏具体...

1、当您付费下载文档后,您只拥有了使用权限,并不意味着购买了版权,文档只能用于自身使用,不得用于其他商业用途(如 [转卖]进行直接盈利或[编辑后售卖]进行间接盈利)。
2、本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供参考,付费前请自行鉴别。
3、如文档内容存在侵犯商业秘密、侵犯著作权等,请点击“举报”。

常见问题具体如下:

1、问:已经付过费的文档可以多次下载吗?

      答:可以。登陆您已经付过费的账号,付过费的文档可以免费进行多次下载。

2、问:已经付过费的文档不知下载到什么地方去了?

     答:电脑端-浏览器下载列表里可以找到;手机端-文件管理或下载里可以找到。

            如以上两种方式都没有找到,请提供您的交易单号或截图及接收文档的邮箱等有效信息,发送到客服邮箱,客服经核实后,会将您已经付过费的文档即时发到您邮箱。

注:微信交易号是以“420000”开头的28位数字;

       支付宝交易号是以“2024XXXX”交易日期开头的28位数字。

客服邮箱:

biganzikefu@outlook.com

所有的文档都被视为“模板”,用于写作参考,下载前须认真查看,确认无误后再购买;

文档大部份都是可以预览的,笔杆子文库无法对文档的真实性、完整性、准确性以及专业性等问题提供审核和保证,请慎重购买;

文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为依据;

如果您还有什么不清楚的或需要我们协助,可以联系客服邮箱:

biganzikefu@outlook.com

常见问题具体如下:

1、问:已经付过费的文档可以多次下载吗?

      答:可以。登陆您已经付过费的账号,付过费的文档可以免费进行多次下载。

2、问:已经付过费的文档不知下载到什么地方去了?

     答:电脑端-浏览器下载列表里可以找到;手机端-文件管理或下载里可以找到。

            如以上两种方式都没有找到,请提供您的交易单号或截图及接收文档的邮箱等有效信息,发送到客服邮箱,客服经核实后,会将您已经付过费的文档即时发到您邮箱。

注:微信交易号是以“420000”开头的28位数字;

       支付宝交易号是以“2024XXXX”交易日期开头的28位数字。

笔杆子文秘
机构认证
内容提供者

为您提供优质文档,供您参考!

确认删除?