CN108519877A - 一种基于配置式的开发模型 - Google Patents
一种基于配置式的开发模型 Download PDFInfo
- Publication number
- CN108519877A CN108519877A CN201710112748.4A CN201710112748A CN108519877A CN 108519877 A CN108519877 A CN 108519877A CN 201710112748 A CN201710112748 A CN 201710112748A CN 108519877 A CN108519877 A CN 108519877A
- Authority
- CN
- China
- Prior art keywords
- data
- component
- configuration
- attribute
- data processing
- 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.)
- Pending
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/35—Creation or generation of source code model driven
Abstract
本发明公开了一种基于配置式的开发模型,包括:数据配置部分,使用配置项的方式定义任何一个所需要的功能组件对象;标准化转换部分,将数据配置转换为程序数据对象后按标准属性进行存储;功能构建部分,根据标准属性构建功能界面、组件以及行为;数据处理部分,处理数据的增加、删除、修改、查询。本发明用于构建企业级的开发工具,统一应用开发模式,大部分人员只需要使用这种模式即可完成软件开发工作;本发明能够减小开发人员对程序语言的依赖性,尽可能少的或不使用原生语言就可以完成软件开发;本发明提高了开发的工作效率,让项目组有更多的精力花费在业务分析上,以便开发出更适合用户的产品。
Description
技术领域
本发明涉及计算机软件产品的开发,更具体地说,涉及一种基于配置式的开发模型。
背景技术
软件开发是以各种开发语言为基础的软件生产活动。随着社会信息化程度的攀升,软件产品规模越来越大,集成度越来越高。单个项目所涉及的技术领域很多,就程序语言而言,至少需要3-5种才可以完成开发。
原生语言的开发,如JAVA、C语言等,主要完成的是把程序语言转换为机器语言,让计算机执行相应的指令。用户功能的研发,需要对语言本身比较精通。原生语言的封装、继承等特性加强了程序的可复用性,但仍需编码实现新的功能。随着代码量的增加,代码管理的难度会越来越高。各种原生语言有它自身的特点,主要适用于服务端开发和组件开发,同时还要配合其他语言进行数据交互、前端展现等。没有哪一种语言能够完全完成现在各种应用软件的开发,这就使得人力资源的配置需要非常全面和完整。
利用公共组件开发,如工作流组件、表单组件等,主要是在原生语言的基础上封装的特定功能。这些组件在一定层面上解决了开发速度问题,但又带来了开发模式、程序架构等不通用的问题。世界上的各种形式的组件非常多,在选择时要经过大量的研究和深入的学习才能够确定是否使用,在可行性研究上需要大量的实践。
利用公共平台开发,像百度、腾讯等都提供一些开发平台,如微信开发平台、百度站长平台等,他们提供的都是程序级的调用,仍需要自行编码实现具体功能。而且不同平台的编码模式、编码规范都有所不同,需要针对不同平台进行适配。
面对日新月异的产品需求,如何快速、简单、有效的完成软件产品开发成为非常重要的问题。
发明内容
针对现有技术的缺点,本发明的目的在于提供一种基于配置式的开发模型,减小二次开发人员对程序语言的依赖性,易于维护各种界面的一致性,提高开发工作效率。
为了实现上述目的,本发明的技术方案为:一种基于配置式的开发模型,包括:数据配置部分,使用配置项的方式定义任何一个所需要的功能组件对象;标准化转换部分,将数据配置转换为程序数据对象后按标准属性进行存储;功能构建部分,根据标准属性构建功能界面、组件以及行为;数据处理部分,处理数据的增加、删除、修改、查询。
作为本发明的一种改进,所述功能组件对象包括数据源、界面、容器、各种表单对象。
作为本发明的一种改进,数据配置支持至少3层以上的嵌套,嵌套时,如配置格式与父级格式相同的,使用嵌套格式定义父级。
作为本发明的一种改进,所述标准属性的转换流程包括:(1)把配置数据解析成标准的键值对形式,以JSON数据格式存储;(2)把中文、特别标识转换为标准英文属性,同时把嵌套属性转换成对象;(3)根据定义,把属性按样式、验证、事件、数据、命令、子对象等分类。
作为本发明的一种改进,所述功能构建包括:(1)根据标准属性定义的组件类型,在组件库中调用对应的组件;(2)组件自动解析相关属性,将配置属性转换为组件本身的属性;(3)把数据绑定到组件上。数据分为静态数据和动态数据;(4)绑定组件、组件与组件之间的行为关系。
作为本发明的一种改进,所述数据处理部分包括外部数据处理和内部数据处理;外部数据处理由用户前端操作触发,对业务功能数据进行增加、删除、修改、查询;内部数据处理由组件属性在功能构建时触发,主要针对数据的查询。
与现有技术相比,本发明用于构建企业级的开发工具,统一应用开发模式,大部分人员只需要使用这种模式即可完成软件开发工作;本发明能够减小开发人员对程序语言的依赖性,尽可能少的或不使用原生语言就可以完成软件开发;本发明提高了开发的工作效率,让项目组有更多的精力花费在业务分析上,以便开发出更适合用户的产品;本发明提供跨平台协作,一处编写,随处运行。
附图说明
下面结合附图和具体实施方式,对本发明的结构及其有益技术效果进行详细说明。
图1为本发明组成示意图。
图2为本发明的标准配置转换流程示意图。
图3为本发明的功能构建示意图。
具体实施方式
为了使本发明的发明目的、技术方案及其有益技术效果更加清晰,以下结合附图和具体实施方式,对本发明进行进一步详细说明。应当理解的是,本说明书中描述的具体实施方式仅仅是为了解释本发明,并非为了限定本发明。
请参阅图1,本发明基于配置式的开发模型包括如下四部分:
1、数据配置部分:配置功能界面、组件等属性,可通过可视化工具定义。
数据配置使用配置项的方式,定义的是任何一个所需要的功能组件对象,包括但不局限于数据源、界面、容器、各种表单对象等。单个对象的数据配置如下:
数据配置支持全中文、全英文、中英文混编。数据配置支持格式:
数据配置支持至少3层以上的嵌套,可以根据实际需要进行处理。嵌套时,如配置格式与父级格式相同的,需要使用嵌套格式定义父级。布局、样式属性都是嵌套格式的属性定义。
可视化工具定义的数据配置按照标准化数据方式存储。详细参考标准化转化的定义。
2、标准化转换部分:数据配置更接近于自然语言,标准化转换将数据配置转换为程序数据对象,方便功能构建层的语义理解。如果是通过可视化工具定义的,在可视化工具所存储的配置数据即按标准化属性进行存储,不需要再进行标准化转换。
标准数据使用JSON数据格式,统一命名,明确配置项的父子级关系。
标准属性格式:
请参阅图2,标准属性的转换流程包括:(1)初始配置解析器把配置数据解析成标准的键值对形式,以JSON数据格式存储;(2)属性转换器把中文、特别标识转换为标准英文属性,同时把嵌套属性转换成对象;(3)属性分类器根据定义,把属性按样式、验证、事件、数据、命令、子对象等分类。
3、功能构建部分:根据标准化属性构建功能界面、组件以及行为。软件产品与开发语言及其组件的对应关系:
软件产品 | 类型 | 后端语言 | 前端语言 |
WEB | B(浏览器) | JAVA | HTML+CSS+JAVASCRIPT |
Window客户端 | C(客户端) | C++ | C++ |
IOS应用 | C(客户端) | OBJECTC | OBJECTC |
ANDROID应用 | C(客户端) | JAVA | JAVA |
由于具有标准的属性配置,针对不同平台进行对应平台的功能组件库的建立和功能构建。不论在那个平台,功能组件都支持标准属性中的属性,且组件的层次关系一致,功能构建的流程和方式一致。
请参阅图3,功能构建过程包括:(1)选择组件,根据标准属性定义的组件类型,在组件库中调用对应的组件;(2)属性解析,组件自动解析相关属性,将配置属性转换为组件本身的属性;(3)数据绑定,把数据绑定到组件上。数据分为静态数据和动态数据,动态数据可以来源于其他组件,如数据源组件、选择组件等;(4)行为绑定,绑定组件、组件与组件之间的行为关系;行为是用户在功能界面上操作后的界面响应事件,或者是组件发生变化时自身或其他组件发生改变的一系列事件,如行政区划的级联选择、按钮行为等。
4、数据处理部分:处理数据的增加、删除、修改、查询。数据处理部分包括外部数据处理和内部数据处理;外部数据处理由用户前端操作触发,对业务功能数据进行增加、删除、修改、查询;内部数据处理由组件属性在功能构建时触发,主要针对数据的查询。
根据上述说明书的揭示和教导,本发明所属领域的技术人员还可以对上述实施方式进行适当的变更和修改。因此,本发明并不局限于上面揭示和描述的具体实施方式,对本发明的一些修改和变更也应当落入本发明的权利要求的保护范围内。此外,尽管本说明书中使用了一些特定的术语,但这些术语只是为了方便说明,并不对本发明构成任何限制。
Claims (6)
1.一种基于配置式的开发模型,其特征在于,包括:
数据配置部分,使用配置项的方式定义任何一个所需要的功能组件对象;
标准化转换部分,将数据配置转换为程序数据对象后按标准属性进行存储;
功能构建部分,根据标准属性构建功能界面、组件以及行为;
数据处理部分,处理数据的增加、删除、修改、查询。
2.根据权利要求1所述的基于配置式的开发模型,其特征在于,所述功能组件对象包括数据源、界面、容器、各种表单对象。
3.根据权利要求1所述的基于配置式的开发模型,其特征在于,数据配置支持至少3层以上的嵌套,嵌套时,如配置格式与父级格式相同的,使用嵌套格式定义父级。
4.根据权利要求1所述的基于配置式的开发模型,其特征在于,所述标准属性的转换流程包括:
(1)把配置数据解析成标准的键值对形式,以JSON数据格式存储;
(2)把中文、特别标识转换为标准英文属性,同时把嵌套属性转换成对
象;(3)根据定义,把属性按样式、验证、事件、数据、命令、子对象等分类。
5.根据权利要求1所述的基于配置式的开发模型,其特征在于,所述功能构建包括:
(1)根据标准属性定义的组件类型,在组件库中调用对应的组件;
(2)组件自动解析相关属性,将配置属性转换为组件本身的属性;
(3)把数据绑定到组件上。数据分为静态数据和动态数据;
(4)绑定组件、组件与组件之间的行为关系。
6.根据权利要求1所述的基于配置式的开发模型,其特征在于,所述数据处理部分包括外部数据处理和内部数据处理;外部数据处理由用户前端操作触发,对业务功能数据进行增加、删除、修改、查询;内部数据处理由组件属性在功能构建时触发,主要针对数据的查询。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710112748.4A CN108519877A (zh) | 2017-02-28 | 2017-02-28 | 一种基于配置式的开发模型 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710112748.4A CN108519877A (zh) | 2017-02-28 | 2017-02-28 | 一种基于配置式的开发模型 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN108519877A true CN108519877A (zh) | 2018-09-11 |
Family
ID=63432679
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710112748.4A Pending CN108519877A (zh) | 2017-02-28 | 2017-02-28 | 一种基于配置式的开发模型 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108519877A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109189381A (zh) * | 2018-10-18 | 2019-01-11 | 行吟信息科技(上海)有限公司 | 一种业务流组件的创建方法及装置 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030028579A1 (en) * | 2001-08-06 | 2003-02-06 | Kulkarni Vinay Vasant | Process for component-based application development |
CN104216691A (zh) * | 2013-05-31 | 2014-12-17 | 华为技术有限公司 | 一种创建应用的方法及装置 |
CN105574049A (zh) * | 2014-10-30 | 2016-05-11 | 阿里巴巴集团控股有限公司 | 移动应用的页面处理方法、装置和系统 |
CN105630472A (zh) * | 2014-11-03 | 2016-06-01 | 中国科学院沈阳自动化研究所 | 制造执行系统客户端快速开发框架及其软件开发方法 |
-
2017
- 2017-02-28 CN CN201710112748.4A patent/CN108519877A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030028579A1 (en) * | 2001-08-06 | 2003-02-06 | Kulkarni Vinay Vasant | Process for component-based application development |
CN104216691A (zh) * | 2013-05-31 | 2014-12-17 | 华为技术有限公司 | 一种创建应用的方法及装置 |
CN105574049A (zh) * | 2014-10-30 | 2016-05-11 | 阿里巴巴集团控股有限公司 | 移动应用的页面处理方法、装置和系统 |
CN105630472A (zh) * | 2014-11-03 | 2016-06-01 | 中国科学院沈阳自动化研究所 | 制造执行系统客户端快速开发框架及其软件开发方法 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109189381A (zh) * | 2018-10-18 | 2019-01-11 | 行吟信息科技(上海)有限公司 | 一种业务流组件的创建方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107273117B (zh) | 一种编程友好型的敏捷代码自动生成系统 | |
US20130166602A1 (en) | Cloud-enabled business object modeling | |
CN105528418B (zh) | 一种设计文档生成方法及装置 | |
CN107766042A (zh) | 一种基于csar的模型文件的可视化设计方法及装置 | |
CN111625226B (zh) | 一种基于原型的人机交互设计实现方法及系统 | |
CN103593456B (zh) | 表单自定义设计方法及装置 | |
KR101588592B1 (ko) | 객체관계 매핑 기반 하이브리드 앱 개발 시스템 및 그 방법 | |
Cornillon et al. | R for Statistics | |
US8413109B2 (en) | Systems and methods for metamodel transformation | |
US20140208293A1 (en) | SQL Visualizer | |
WO2016181368A1 (es) | Método implementado por computador que expone aplicaciones tipo software a partir de especificaciones de diseño | |
Engel et al. | A Concerted Model-driven and Pattern-based Framework for Developing User Interfaces of Interactive Ubiquitous Applications. | |
US10776351B2 (en) | Automatic core data service view generator | |
CN106250134A (zh) | 单一性语言的代码自动生成方法 | |
CN111367514B (zh) | 页面卡片的开发方法和装置、计算设备和存储介质 | |
CN108519877A (zh) | 一种基于配置式的开发模型 | |
CN104133680A (zh) | 一种erp窗体模块的快速构建方法 | |
JP7022472B1 (ja) | データ管理システム、データ管理方法及びデータ管理プログラム | |
CN107729011A (zh) | 一种基于模型转换的从iOS到Android的跨平台页面转化方法 | |
CN111291444B (zh) | 飞机装配的建模方法、装置、设备及存储介质 | |
Azar et al. | Swift data structure and algorithms | |
US20090319923A1 (en) | Method for generating role-based user interfaces utilizing uml models | |
US11238220B1 (en) | Dynamic user interface framework | |
CN105204919B (zh) | 流程虚拟机 | |
Baetens | Comparing graphical DSL editors: AToM3, GMF, MetaEdit |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20180911 |