CN105607909B - 一种基于mvc框架改进列表开发效率的方法和系统 - Google Patents
一种基于mvc框架改进列表开发效率的方法和系统 Download PDFInfo
- Publication number
- CN105607909B CN105607909B CN201510963687.3A CN201510963687A CN105607909B CN 105607909 B CN105607909 B CN 105607909B CN 201510963687 A CN201510963687 A CN 201510963687A CN 105607909 B CN105607909 B CN 105607909B
- Authority
- CN
- China
- Prior art keywords
- list
- module
- text
- view container
- operational order
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/31—Programming languages or programming paradigms
- G06F8/312—List processing, e.g. LISP programming language
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/37—Compiler construction; Parser generation
Abstract
本发明公开了一种基于MVC框架改进列表开发效率的方法,包括:接收来自用户的显示列表请求,并根据该显示列表请求访问网络以获得列表文本,使用解析器对列表文本进行解析,从而以反序列化的方式生成多个对象集合,将生成的多个对象集合放入通用数据库,使用多个视图容器逐一遍历通用数据库中的多个对象集合,每存在一个对象,则使用一个视图容器与该对象绑定,并通过该视图容器显示其绑定的对象内的数据,接收来自用户的操作指令,并判断该操作指令的类型是点击列表还是滑动列表。本发明能够解决现有安卓应用程序开发者编写列表时出现的代码量庞大、开发效率低下、后续维护时间成本较高的技术问题。
Description
技术领域
本发明属于互联网用户交互技术领域,更具体地,涉及一种基于MVC框架改进列表开发效率的方法和系统。
背景技术
如今,很多安卓应用程序几乎都包含有一个或多个列表,用于显示不同的内容。然而,由于应用程序开发者的开发水平有限,大部分没有使用数据与逻辑分离的方式编写代码,导致每编写一个列表,都要单独维护一套数据库,代码重复量非常庞大,开发效率低下,而且后续维护整个代码的时间成本较高。
发明内容
针对现有技术的以上缺陷或改进需求,本发明提供了一种基于MVC框架改进列表开发效率的方法,其目的在于,解决现有安卓应用程序开发者编写列表时出现的代码量庞大、开发效率低下、后续维护时间成本较高的技术问题。
为实现上述目的,按照本发明的一个方面,提供了
一种基于MVC框架改进列表开发效率的方法,包括以下步骤:
(1)接收来自用户的显示列表请求,并根据该显示列表请求访问网络以获得列表文本;
(2)使用解析器对列表文本进行解析,从而以反序列化的方式生成多个对象集合;
(3)将步骤(2)生成的多个对象集合放入通用数据库;
(4)使用多个视图容器逐一遍历通用数据库中的多个对象集合,每存在一个对象,则使用一个视图容器与该对象绑定,并通过该视图容器显示其绑定的对象内的数据。
优选地,该方法还包括步骤:
(5)接收来自用户的操作指令,并判断该操作指令的类型是点击列表还是滑动列表,如果是点击列表,则转入步骤(6),如果是滑动列表,则转入步骤(7);
(6)确定该点击列表操作指令所对应的视图容器,并通过其绑定的对象中的数据进行对应的操作;
(7)根据该滑动列表操作指令判断最后一个视图容器是否已经被显示,如果是则转入步骤(8),否则过程结束;
(8)加载该列表文本后续的列表文本,并重复步骤(5)至(7),直到用户停止发送操作指令为止。
优选地,步骤(6)中的操作包括打开网络页面并显示内容。
优选地,列表文本包括标题文本、内容文本、以及配图的URL。
优选地,解析器采用插件式通用设计,通过更换不同的解析器可解析不同的列表文本。
按照本发明的另一方面,提供了一种基于MVC框架改进列表开发效率的系统,包括:
第一模块,用于接收来自用户的显示列表请求,并根据该显示列表请求访问网络以获得列表文本;
第二模块,用于使用解析器对列表文本进行解析,从而以反序列化的方式生成多个对象集合;
第三模块,用于将第二模块生成的多个对象集合放入通用数据库;
第四模块,用于使用多个视图容器逐一遍历通用数据库中的多个对象集合,每存在一个对象,则使用一个视图容器与该对象绑定,并通过该视图容器显示其绑定的对象内的数据。
优选地,该系统还包括:
第五模块,用于接收来自用户的操作指令,并判断该操作指令的类型是点击列表还是滑动列表,如果是点击列表,则转入第六模块,如果是滑动列表,则转入第七模块;
第六模块,用于确定该点击列表操作指令所对应的视图容器,并通过其绑定的对象中的数据进行对应的操作;
第七模块,用于根据该滑动列表操作指令判断最后一个视图容器是否已经被显示,如果是则转入第八模块,否则过程结束;
第八模块,用于加载该列表文本后续的列表文本,并重复第五模块至第七模块,直到用户停止发送操作指令为止。
优选地,第六模块中的操作包括打开网络页面并显示内容。
优选地,列表文本包括标题文本、内容文本、以及配图的URL。
优选地,解析器采用插件式通用设计,通过更换不同的解析器可解析不同的列表文本。
总体而言,通过本发明所构思的以上技术方案与现有技术相比,能够取得下列有益效果:
(1)本发明通过采用步骤(2)至(4)实现了MVC编程方式,即数据解析、视图显示、逻辑控制三者互相分离的方式,在需要显示不同种类列表内容时,不再需要编写逻辑控制代码,从而减少了代码量,提高了代码开发效率;
(2)本发明通过采用步骤(2)和(4),在后期升级列表对象的数据格式时,只需要更换数据解析器或视图显示的代码,就能适应新的数据格式,也不需要重写逻辑控制代码,从而减小了后续时间维护成本。
附图说明
图1是本发明基于MVC框架改进列表开发效率的方法的流程图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。此外,下面所描述的本发明各个实施方式中所涉及到的技术特征只要彼此之间未构成冲突就可以相互组合。
如图1所示,本发明基于模型视图控制器(Model View Controller,简称MVC)框架改进列表开发效率的方法包括以下步骤:
(1)接收来自用户的显示列表请求,并根据该显示列表请求访问网络以获得列表文本;具体而言,列表文本通常包括标题文本、内容文本、配图的URL,例如,从网络获得的某个列表文本包括新闻标题、新闻简介、以及新闻配图;
(2)使用解析器(Parser)对列表文本进行解析,从而以反序列化的方式生成多个对象集合;具体而言,本发明中的解析器采用插件式通用设计,更换不同的解析器可以解析不同的列表文本;
(3)将步骤(2)生成的多个对象集合放入通用数据库(Adapter);
(4)使用多个视图容器(ViewHolder)逐一遍历通用数据库中的多个对象集合,每存在一个对象,则使用一个视图容器与该对象绑定,并通过该视图容器显示其绑定的对象内的数据,例如显示新闻标题、新闻简介、以及新闻配图;
(5)接收来自用户的操作指令,并判断该操作指令的类型是点击列表还是滑动列表,如果是点击列表,则转入步骤(6),如果是滑动列表,则转入步骤(7);
(6)确定该点击列表操作指令所对应的视图容器,并通过其绑定的对象中的数据进行对应的操作;具体而言,操作包括有打开网络页面并显示内容;例如,某个对象中的数据是新闻标题,则在用户点击视图容器后,打开新的网络页面,显示该新闻标题对应的新闻的详细内容;
(7)根据该滑动列表操作指令判断最后一个视图容器是否已经被显示,如果是则转入步骤(8),否则过程结束;
(8)加载该列表文本后续的列表文本,并重复步骤(5)至(7),直到用户停止发送操作指令为止。
总而言之,本发明方法的优点在于:
(1)本发明通过采用步骤(2)至(4)实现了MVC编程方式,即数据解析、视图显示、逻辑控制三者互相分离的方式,在需要显示不同种类列表内容时,不再需要编写逻辑控制代码,从而减少了代码量,提高了代码开发效率;
(2)本发明通过采用步骤(2)和(4),在后期升级列表对象的数据格式时,只需要更换数据解析器或视图显示的代码,就能适应新的数据格式,也不需要重写逻辑控制代码,从而减小了后续时间维护成本。
本领域的技术人员容易理解,以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种基于MVC框架改进列表开发效率的方法,其特征在于,包括以下步骤:
(1)接收来自用户的显示列表请求,并根据该显示列表请求访问网络以获得列表文本;
(2)使用解析器对列表文本进行解析,从而以反序列化的方式生成多个对象集合;
(3)将步骤(2)生成的多个对象集合放入通用数据库;
(4)使用多个视图容器逐一遍历通用数据库中的多个对象集合,每存在一个对象,则使用一个视图容器与该对象绑定,并通过该视图容器显示其绑定的对象内的数据。
2.根据权利要求1所述的方法,其特征在于,还包括步骤:
(5)接收来自用户的操作指令,并判断该操作指令的类型是点击列表还是滑动列表,如果是点击列表,则转入步骤(6),如果是滑动列表,则转入步骤(7);
(6)确定该点击列表操作指令所对应的视图容器,并通过其绑定的对象中的数据进行对应的操作;
(7)根据该滑动列表操作指令判断最后一个视图容器是否已经被显示,如果是则转入步骤(8),否则过程结束;
(8)加载该列表文本后续的列表文本,并重复步骤(5)至(7),直到用户停止发送操作指令为止。
3.根据权利要求2所述的方法,其特征在于,步骤(6)中的操作包括打开网络页面并显示内容。
4.根据权利要求1所述的方法,其特征在于,列表文本包括标题文本、内容文本、以及配图的URL。
5.根据权利要求1所述的方法,其特征在于,解析器采用插件式通用设计,通过更换不同的解析器可解析不同的列表文本。
6.一种基于MVC框架改进列表开发效率的系统,其特征在于,包括:
第一模块,用于接收来自用户的显示列表请求,并根据该显示列表请求访问网络以获得列表文本;
第二模块,用于使用解析器对列表文本进行解析,从而以反序列化的方式生成多个对象集合;
第三模块,用于将第二模块生成的多个对象集合放入通用数据库;
第四模块,用于使用多个视图容器逐一遍历通用数据库中的多个对象集合,每存在一个对象,则使用一个视图容器与该对象绑定,并通过该视图容器显示其绑定的对象内的数据。
7.根据权利要求6所述的系统,其特征在于,还包括:
第五模块,用于接收来自用户的操作指令,并判断该操作指令的类型是点击列表还是滑动列表,如果是点击列表,则转入第六模块,如果是滑动列表,则转入第七模块;
第六模块,用于确定该点击列表操作指令所对应的视图容器,并通过其绑定的对象中的数据进行对应的操作;
第七模块,用于根据该滑动列表操作指令判断最后一个视图容器是否已经被显示,如果是则转入第八模块,否则过程结束;
第八模块,用于加载该列表文本后续的列表文本,并重复第五模块至第七模块,直到用户停止发送操作指令为止。
8.根据权利要求7所述的系统,其特征在于,第六模块中的操作包括打开网络页面并显示内容。
9.根据权利要求6所述的系统,其特征在于,列表文本包括标题文本、内容文本、以及配图的URL。
10.根据权利要求6所述的系统,其特征在于,解析器采用插件式通用设计,通过更换不同的解析器可解析不同的列表文本。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510963687.3A CN105607909B (zh) | 2015-12-21 | 2015-12-21 | 一种基于mvc框架改进列表开发效率的方法和系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510963687.3A CN105607909B (zh) | 2015-12-21 | 2015-12-21 | 一种基于mvc框架改进列表开发效率的方法和系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105607909A CN105607909A (zh) | 2016-05-25 |
CN105607909B true CN105607909B (zh) | 2017-02-15 |
Family
ID=55987863
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510963687.3A Active CN105607909B (zh) | 2015-12-21 | 2015-12-21 | 一种基于mvc框架改进列表开发效率的方法和系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105607909B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107783832A (zh) * | 2016-08-25 | 2018-03-09 | 平安科技(深圳)有限公司 | 一种视图控制器安全控制方法及终端 |
CN108509188B (zh) * | 2018-03-30 | 2021-11-09 | 武汉斗鱼网络科技有限公司 | 一种列表的建立方法、装置及电子设备 |
CN113971060B (zh) * | 2020-07-23 | 2023-10-27 | 抖音视界有限公司 | 界面显示方法、装置、电子设备和介质 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7076766B2 (en) * | 2002-06-03 | 2006-07-11 | Steve Wirts | Software application development methods and framework |
CN102955688A (zh) * | 2011-08-23 | 2013-03-06 | 上海无戒空间信息技术有限公司 | 一种用户图像控件的处理方法 |
CN102830973A (zh) * | 2012-08-14 | 2012-12-19 | 无锡哲勤科技有限公司 | 海量数据下Web应用开发双层MVC的方法和分层结构 |
CN104111828B (zh) * | 2013-04-22 | 2017-06-13 | 易保网络技术(上海)有限公司 | 人机交互界面自动生成方法及系统 |
-
2015
- 2015-12-21 CN CN201510963687.3A patent/CN105607909B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN105607909A (zh) | 2016-05-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8321834B2 (en) | Framework for automatically merging customizations to structured code that has been refactored | |
US20240045850A1 (en) | Systems and methods for database orientation transformation | |
US9122540B2 (en) | Transformation of computer programs and eliminating errors | |
US20070044066A1 (en) | Embedded multi-language programming | |
CN105607909B (zh) | 一种基于mvc框架改进列表开发效率的方法和系统 | |
US9720652B2 (en) | Generating a software complex using superordinate design input | |
CN110109671B (zh) | 一种webpack标签尺寸样式转换方法及装置 | |
CN110262783A (zh) | 一种接口生成方法、装置及终端设备 | |
CN106528198A (zh) | 一种用于汽车电控单元的程序下载系统及方法 | |
CN114138244A (zh) | 模型类文件自动生成方法、装置、存储介质及电子设备 | |
CN108563561B (zh) | 一种程序隐性约束提取方法及系统 | |
CN110460461B (zh) | Yang模式语言到命令行的映射方法及系统 | |
Nogueira et al. | Test case generation, selection and coverage from natural language | |
CN105511935A (zh) | 资源索引值的获取方法及装置 | |
CN107040818B (zh) | 用于安卓电视的布局层级分析方法及系统 | |
Cimino et al. | An efficient model-based methodology for developing device-independent mobile applications | |
CN106598829A (zh) | 一种网页自动化测试方法及装置 | |
CN106775826B (zh) | 一种使用注解方式加载代码文件的方法及系统 | |
CN106775607A (zh) | 一种将接口控制文件自动生成头文件数据接口的方法 | |
CN107357569A (zh) | 多语言资源文件的统一管理方法及系统、计算机可读存储介质及设备 | |
Kang et al. | Towards formal energy and time aware behaviors in east-adl: An mde approach | |
CN110134394A (zh) | 一种支持多终端的网页界面生成方法 | |
CN110717134A (zh) | 产品说明发布方法、装置、存储介质及电子设备 | |
Sanchez et al. | Modelling and verifying smell-free architectures with the Archery language | |
CN108563475A (zh) | 应用程序的运行方法、装置及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
EE01 | Entry into force of recordation of patent licensing contract | ||
EE01 | Entry into force of recordation of patent licensing contract |
Application publication date: 20160525 Assignee: Wuhan small fish sea Network Technology Co., Ltd. Assignor: WUHAN DOUYU NETWORK TECHNOLOGY CO., LTD. Contract record no.: 2017420000009 Denomination of invention: Method and system for improving list development efficiency on basis of MVC frame Granted publication date: 20170215 License type: Common License Record date: 20170328 |