CN105607909B - 一种基于mvc框架改进列表开发效率的方法和系统 - Google Patents

一种基于mvc框架改进列表开发效率的方法和系统 Download PDF

Info

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
Application number
CN201510963687.3A
Other languages
English (en)
Other versions
CN105607909A (zh
Inventor
霍启圣
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Wuhan Douyu Network Technology Co Ltd
Original Assignee
Wuhan Douyu Network Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Wuhan Douyu Network Technology Co Ltd filed Critical Wuhan Douyu Network Technology Co Ltd
Priority to CN201510963687.3A priority Critical patent/CN105607909B/zh
Publication of CN105607909A publication Critical patent/CN105607909A/zh
Application granted granted Critical
Publication of CN105607909B publication Critical patent/CN105607909B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/31Programming languages or programming paradigms
    • G06F8/312List processing, e.g. LISP programming language
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/37Compiler construction; Parser generation

Abstract

本发明公开了一种基于MVC框架改进列表开发效率的方法,包括:接收来自用户的显示列表请求,并根据该显示列表请求访问网络以获得列表文本,使用解析器对列表文本进行解析,从而以反序列化的方式生成多个对象集合,将生成的多个对象集合放入通用数据库,使用多个视图容器逐一遍历通用数据库中的多个对象集合,每存在一个对象,则使用一个视图容器与该对象绑定,并通过该视图容器显示其绑定的对象内的数据,接收来自用户的操作指令,并判断该操作指令的类型是点击列表还是滑动列表。本发明能够解决现有安卓应用程序开发者编写列表时出现的代码量庞大、开发效率低下、后续维护时间成本较高的技术问题。

Description

一种基于MVC框架改进列表开发效率的方法和系统
技术领域
本发明属于互联网用户交互技术领域,更具体地,涉及一种基于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所述的系统,其特征在于,解析器采用插件式通用设计,通过更换不同的解析器可解析不同的列表文本。
CN201510963687.3A 2015-12-21 2015-12-21 一种基于mvc框架改进列表开发效率的方法和系统 Active CN105607909B (zh)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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 易保网络技术(上海)有限公司 人机交互界面自动生成方法及系统

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