【摘 要】本文主要探讨背单词网站的业务逻辑设计,旨在探索一种最有利于学习者学习单词的方法.通过新的业务逻辑设计,使学习者可以自主的选择学习范围,学习方式,从而提高学习的兴趣与效率.
【关 键 词 】 c# 业务逻辑 多模式浏览 多模式选择
英语单词学习网站,以信息化的手段来展现丰富的英语知识,以互动的模式来改进英语知识的学习方式,以一种全新的体验,提高学习者学习英语、使用英语的积极性.目前大部分英语学习网站,如速学网、海词、金太阳,都有比较丰富的链接资源,信息量大,也有一定的查询检索功能.但也存在普遍的问题:1、单词浏览模式单一;2、单词范围选择模式单一;3、单词管理功能不强.
针对上述三点问题,在本文探讨的背单词网站的业务逻辑中,提供了文本、图片、动画三种浏览模式,并为用户提供了多种单词范围的选择模式,用户可以根据自己的需求定义自己的学习词库,单词管理的功能也更强.这样用户能够以最少的学习次数获得最好的记忆效果,达到事半功倍的效果.只要有可上网的终端,就可以随时随地的背单词,而且操作简单,只要轻点鼠标就能够完成所有操作,不需要计算机专业知识,学习、测试、查询都能轻松搞定.
一、单词多模式浏览的设计与实现
用户可以通过网站浏览各单词.在系统的主页面上,是所有单词首写的列表,列表中包含各单词的拼写.通过单击某个单词的链接,用户可以查看该单词的图片和flash,接着用户可以单击翻译按钮,将进入该单词基本信息的列表页面,在该页面的单词条目中,包括各个单词的词性,释义,音标和造句等.
在用户进行学习时,必须检测用户是以哪种方式学习,系统默认为动画学习,如果用户选择翻译学习,则系统自动链接网络,给出单词的网络释义.C#示例代码如下所示.
function sound (){
Document.all.bgs.src 等于 “http://dict.baidu./getmp3?path等于en%2Fcake.mp3”;
}
function s_change () {
s 等于 document.getElementById (‘Button1’).value;
if (s 等于等于 ‘翻译’) {
document.getElementById ('tranDiv').style.cssText等于'visibility: visible';
document.getElementById(‘Button1’).value 等于 ‘动画’;
}
else {
document.getElementById ('tranDiv').style.cssText等于'visibility: hidden';
document.getElementById(‘Button1’).value 等于 ‘翻译’;
}
}
二、单词范围多模式选择的设计与实现
用户在登陆后,选择范围按钮,进入一个单独的页面,此页面包括基本的Textbox和Label控件用于呈现基本的页面信息,本系统在页面中使用了两个DropdownList列表控件,用于显示用户可以选择的信息,包括指引用户如何选择相应的课本.列表控件能在一个控件中为用户提供多个选项,同时又能够避免用户输入错误的选项.当用户选择相应的项目时,就会触发SelectedIndexChanged事件,开发人员可以通过捕捉相应的用户选中的控件进行编程处理,这里就捕捉了用户选择的范围进行单词的更改.
由于每本书册所包含的单词各不相同,内容涵盖面也比较广泛,通常需要包含十几个单元,然后每个单元说包含的单词也是各不相同的.为了快速的适应用户的学习需要,灵活多样的单词范围分类管理可以使得单词的管理更为有效.单词范围分类管理主要包括以下三个功能:1.添加单词范围目录.2.修改单词范围目录.3.删除单词范围目录.
添加单词范围目录的实现方法大致为:通过在页面上部署GridView 控件、文本框和按钮,其中GridView 控件用来显示当前目录情况,文本框收集管理员录入的新的目录名称等信息,然后通过按钮条件提交数据到业务访问层的具体方法更新数据库信息.
在BLL 类库中添加新类,命名为CategoryManager,定义所属命名空间为namespace .BLL,标记为可序列化[Serializable],访问权限为GridView public.该类负责添加新的图书目录到数据库中,对数据库中Category 表的操作,该类会调用目录数据访问类来完成.其具体代码如下:
三、单词管理的设计与实现
管理员用户登录后,可以任意发布单词,也可以对自己已经发布的单词做一些修改,对于一些已经出错的单词,可以自行从发布的单词中删除.若有新增单词,管理员可以进行单词处理,进行相应数据库操作.
添加新的单词范围的实现过程:表单提交通过调用控制器里面的type_se函数完成单词范围的添加.
在对数据访问时主要使用的是存储过程.在删除单词过程中,主要是通过用于呈现图书项目的GridView 控件中的删除按钮来实现的.
在使用GridView 进行数据行的删除操作时,需要预定指定GridView控件的DataKeyNames 属性,并且需要在HTML 视图下设置GridView 的 AutoGenerateDeleteButton等于“True”和 onrowdeleting等于“GridViewL-RowDeleted”事件.具体代码不再赘述.