一种基于组件模块的教育开发系统技术方案

技术编号:19592835 阅读:22 留言:0更新日期:2018-11-28 04:42
本发明专利技术公开一种基于组件模块的教育开发系统,包括:均依赖于组件化Service的启动组件、课程组件和工具组件;其中,组件化Service,依赖于基础库,用于提供组件间的交互服务;启动组件,用于完成启动操作;课程组件,用于题型解析和展示;工具组件,用于组件模块间的解藕和模块调用;组件的架构采用MVP方式,分为Model层、View层和Presenter层,其中,Model层为数据模型层,View层负责UI展示给用户,Presenter层负责与View层和Model层交互并且完成逻辑操作。本发明专利技术采用组件化的方案实现业务的解藕,采用CLEANMVP的方式实现逻辑代码的解藕。能够支持课本点读功能、在线课程多媒体视频加载播放和多种题型的文本解析、展示以及交互,解决了在不同国产定制ROM中适配的问题。

【技术实现步骤摘要】
一种基于组件模块的教育开发系统
本专利技术涉及的是一种基于组件模块的教育开发系统,属于软件发开

技术介绍
近年来随着人们生活水平的提高,对于教育方面的关注日渐增强,而智能手机的普及无疑加速了在线教育的发展。在线教育类APP的出现,使得学生在学习时可以享受更多的优质资源。传统的做题类APP多采用MVC(model-view-controller模型视图控制)的模式进行开发并且对于多题型的支持少之又少,一般是采用HTML(超文本标记语言)网页的解决方案来实现题目的展示与交互。现有方案大多采用的是传统的MVC(model-view-controller模型视图控制)模式,该模式在业务变得复杂后会显得十分臃肿,使得开发的成本增加并且项目难以维护,同时对于传统的做题类软件,大都采用HTML(超文本标记语言)网页技术来解决,使用体验较差并且耗费资源。
技术实现思路
针对上述缺陷,本专利技术提供了一种基于组件模块的教育开发系统,采用组件化的方案实现业务的解藕,采用CLEANMVP(简洁型模型视图展示结构)的方式实现逻辑代码的解藕。能够支持课本点读功能、在线课程多媒体视频加载播放和多种题型(选择、填空、点选、连线等)的文本解析、展示以及交互,解决了在不同国产定制ROM(read-onlymemory只读存储器)中适配的问题,降低了开发和维护的成本,并且有效提高了用户做题的体验。为达到上述目的,本专利技术通过以下技术方案来具体实现:本专利技术提供了一种基于组件模块的教育开发系统,该系统包括:均依赖于组件化Service(服务程序)的启动组件、课程组件和工具组件;其中,组件化Service,依赖于基础库,用于提供组件间的交互服务;启动组件,用于完成启动操作;课程组件,用于题型解析和展示;工具组件,用于组件模块间的解藕和模块调用;组件的架构采用MVP(model-view-presenter)方式,分为Model层、View(视图)层和Presenter(展示)层,其中,Model层为数据模型层,View(视图)层负责UI展示给用户,Presenter(展示)层负责与View(视图)层和Model层交互并且完成逻辑操作。所述基础库,包含Model数据模型和Library(应用程序拓展)库文件,用于支持每一个组件独立运行调试。每一个组件对其公开的页面以页面Uri(UniformResourceIdentifier,统一资源标识符)的方式进行注册,每一个Uri对应唯一的页面。所述每一个组件对其公开的页面以页面Uri(UniformResourceIdentifier,统一资源标识符)的方式进行注册,包括:组件的路由管理器CourseRouter(课程路由)实现了IComponentRouter(组件路由)接口,IComponentRouter(组件路由)接口中核心的跳转页面包含了跳转页面Uri(UniformResourceIdentifier,统一资源标识符)、跳转传递数据、跳转请求码以及页面启动Flag,其中,CourseRoute(课程路由)根据页面Uri(UniformResourceIdentifier统一资源标识符)与保存的路由表对比来判断跳转页面。所述启动组件,包含闪屏页、引导页、登录页、绑定手机页和完善信息页,启动组件的流程包括:首先启动闪屏页,优先判断是否是APP第一次启动,如果是第一次启动则进入引导页,否则判断是否已登录账号,如果未登录账号则进入登录页进行登录注册操作,在登录完成之后进行绑定手机号判断,如果未绑定手机则进入绑定手机,已绑定手机或者绑定完成之后则判断是否用户信息完善,如果完善则进入首页,否则进入完善页并在完善信息之后进入首页。所述工具组件,包括:工具页、科目练习、听写、单词、口算、口语、听力、练字、知识点、作文、字典、错题本、PK、讲故事和课本点读,均可作为单独的模块被其他组件调用。所述工具组件实现单模块被调用的技术方案为:a、创建通用的IFragmentBehavior(周期行为)接口、用于处理模块的行为(例如暂停状态、开始状态以及设置模块回调等);b、各模块创建各自的回调接口,该回调接口用于与调用组件的通信,口算为IArithmeticCallback(口算回调)、听写为IDictationCallback(听写回调)、听力为IListeningCallback(听力回调)、口语为ISpeakingCallback(口语回调)、单词为IWordCallback(词汇回调);c、各个模块基于IFragmentBehavior(周期行为)接口分别创建各自的模块接口,口算为IArithmeticBehavior(口算行为函数)、听写为IDictationBehavior(听写行为函数)、听力为IListeningBehavior(听力行为函数)、口语为ISpeakingBehavior(口语行为函数)、单词为IWordBehavior(词汇行为函数);d、每一个模块均实现ModuleInterface(模块交互)接口,该接口主要包含两个方法,一个getData()(获取数据)方法用于获取服务器题目数据,一个getType()(获取类型)方法用于返回模块类型;e、凡是需要调用单独模块的组件均需要自行实现ModuleCallback(模块回调)接口,该接口包含了设置标题、显示隐藏加载动画、显示结果页和/或显示单模块页等能。所述课程组件:用于根据与服务端约定的题型代号,在收到题目数据之后,CoursePresenter(课程演示)模块实现了模块回调接口ModuleCallback(模块回调),并且根据传入的题型信息生成ModuleInterface(模块交互),进行组件模块调用,实现了课程视频在线播放、题型解析展示和/或上课做题功能。该系统前后端基本的数据交换格式是json格式的数据;后台所使用的主要技术框架是Django(开放源代码的Web应用框架),提供网络数据交互。该系统的数据库查询中采用了B-Tree索引结构,这类索引是依赖于多路搜索树算法建立的。本专利技术提供的一种基于组件模块的教育开发系统,采用组件化的方案实现业务的解藕,采用CLEANMVP(简洁型模型视图展示结构)的方式实现逻辑代码的解藕。能够支持课本点读功能、在线课程多媒体视频加载播放和多种题型(选择、填空、点选、连线等)的文本解析、展示以及交互,解决了在不同国产定制ROM(read-onlymemory只读存储器)中适配的问题。使用的CLEANMVP(简洁型模型视图展示结构)模式相较于传统方案采用的MVC(model-view-controller模型视图控制)模式,能够让项目在可以接受的代码文件增加的前提下将开发的成本降低,更易维护和迭代。加之本专利技术引入了组件化的思想,将整个项目拆分为可独立的小组件项目,让各小组的开发人员能够更加专注于自己的工作,有效的提高项目的开发效率。本专利技术通过与后端的配合约定采用自建标签来标记并实现与原生解析题目,使得体验和性能上与传统的HTML网页实现都带来质的飞跃。附图说明图1所示为本专利技术提供的一种基于组件模块的教育开发系统的框架图。图1-2所示为本专利技术提供的IComponentRouter(组件路由)本文档来自技高网...

【技术保护点】
1.一种基于组件模块的教育开发系统,其特征在于,该系统包括:均依赖于组件化Service的启动组件、课程组件和工具组件;其中,组件化Service,依赖于基础库,用于提供组件间的交互服务;启动组件,用于完成启动操作;课程组件,用于题型解析和展示;工具组件,用于组件模块间的解藕和模块调用;组件的架构采用MVP方式,分为Model层、View层和Presenter层,其中,Model层为数据模型层,View层负责UI展示给用户,Presenter层负责与View层和Model层交互并且完成逻辑操作。

【技术特征摘要】
1.一种基于组件模块的教育开发系统,其特征在于,该系统包括:均依赖于组件化Service的启动组件、课程组件和工具组件;其中,组件化Service,依赖于基础库,用于提供组件间的交互服务;启动组件,用于完成启动操作;课程组件,用于题型解析和展示;工具组件,用于组件模块间的解藕和模块调用;组件的架构采用MVP方式,分为Model层、View层和Presenter层,其中,Model层为数据模型层,View层负责UI展示给用户,Presenter层负责与View层和Model层交互并且完成逻辑操作。2.如权利要求1所述的系统,其特征在于,所述基础库,包含Model数据模型和Library库文件,用于支持每一个组件独立运行调试。3.如权利要求1所述的系统,其特征在于,每一个组件对其公开的页面以页面Uri的方式进行注册,每一个Uri对应唯一的页面。4.如权利要求1所述的系统,其特征在于,所述每一个组件对其公开的页面以页面Uri的方式进行注册,包括:组件的路由管理器CourseRouter实现了IComponentRouter接口,IComponentRouter接口中核心的跳转页面包含了跳转页面Uri、跳转传递数据、跳转请求码以及页面启动Flag,其中,CourseRoute根据页面Uri与保存的路由表对比来判断跳转页面。5.如权利要求1所述的系统,其特征在于,所述启动组件,包含闪屏页、引导页、登录页、绑定手机页和完善信息页,启动组件的流程包括:首先启动闪屏页,优先判断是否是APP第一次启动,如果是第一次启动则进入引导页,否则判断是否已登录账号,如果未登录账号则进入登录页进行登录注册操作,在登录完成之后进行绑定手机号判断,如果未绑定手机则进入绑定手机,已绑定手机或者绑定完成之后则判断是否用户信息完善,如果完善则进入首页,否则进入完善页并在完善信息之后进入首页。6.如权利要求1所述的系统,其特征在于,所述工具组件,包括:工具页、科目练习、听写、单词、口算、口语、听力、练字、知识点、作文、字典、错题本、PK、讲...

【专利技术属性】
技术研发人员:蒋晟王洪川
申请(专利权)人:北京慧达天下科技有限公司
类型:发明
国别省市:北京,11

相关技术
    暂无相关专利
网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1