一种基于无代码应用开发的面向对象编程方法技术

技术编号:34082476 阅读:14 留言:0更新日期:2022-07-11 19:12
本发明专利技术属于计算机软件技术领域,具体涉及一种基于无代码应用开发的面向对象编程方法,该方法包括:建立元数据与代码元素之间的映射关系;根据映射关系获取编程式模块;搭建无代码模块;根据无代码模块和映射关系,获取编程式扩展无代码模块;部署编程式模块、无代码模块和编程式扩展无代码模块,以使编程式模块、无代码模块和编程式扩展无代码模块分别对外提供服务。本申请提供的技术方案,不仅可以将无代码应用开发与面向对象编程有效结合以完成各种个性化复杂业务逻辑,还使开发人员尽可能少的使用或者不用编程知识就可以搭建出应用软件,提升了开发人员研发业务应用的效率。提升了开发人员研发业务应用的效率。提升了开发人员研发业务应用的效率。

【技术实现步骤摘要】
一种基于无代码应用开发的面向对象编程方法


[0001]本专利技术属于计算机软件
,具体涉及一种基于无代码应用开发的面向对象编程方法。

技术介绍

[0002]无代码应用开发是一种研发业务应用的方法,开发人员通过在图形界面中使用可视化组件完成建模和搭建应用程序的工作。但无代码应用开发如果要满足个性化复杂逻辑和提供完整的编写代码所支持的功能,仍然需要使用编程的方式来满足需求。
[0003]目前基于无代码应用开发实现个性化逻辑的编程方法主要分为三类:第一类是为无代码搭建的应用程序的界面操作预留配置点,通过将配置点可自定义的部分使用配置的方式来完成个性化逻辑的设置。这种方式不支持直接编写代码,需要枚举个性化的场景,所以可支持个性化的业务逻辑非常局限。
[0004]第二类是通过在图形界面中拖拽可视化组件编写出配置文件,通过执行配置文件实现个性化业务逻辑。这种方式编写出的业务逻辑往往十分简单,无法处理超出配置文件所提供对应功能范围的业务。如果通过拖拽可视化组件可以搭建出处理复杂业务的配置文件,则要求配置文件所提供对应功能与直接执行代码等价。那么这种方式的编写过程会变得非常复杂,与直接使用编程知识编写代码相比,反而降低了研发业务应用的效率。
[0005]第三类是通过在客户端编写客户端脚本,调用服务端提供的自定义接口来处理个性化逻辑。开发人员需要了解在客户端编写客户端脚本的相关知识和服务端接口的所有细节,降低了无代码应用开发的效率。

技术实现思路

[0006]有鉴于此,本专利技术的目的在于克服现有技术的不足,提供一种基于无代码应用开发的面向对象编程方法,以解决现有技术中基于无代码应用开发支持个性化的业务逻辑非常局限,以及开发个性化复杂的业务逻辑效率低的问题。
[0007]根据本申请实施例的第一方面,提供一种基于无代码应用开发的面向对象编程方法,所述方法包括:建立元数据与代码元素之间的映射关系,所述代码元素为基于面向对象编程编写的代码中的元素;根据所述映射关系获取编程式模块;搭建无代码模块;根据所述无代码模块和所述映射关系,获取编程式扩展无代码模块;部署所述编程式模块、所述无代码模块和所述编程式扩展无代码模块,以使所述编程式模块、所述无代码模块和所述编程式扩展无代码模块分别对外提供服务。
[0008]优选的,所述元数据包括:模型、字段、动作和视图;所述代码元素包括:类、属性、控制器和模板。
[0009]优选的,所述建立元数据与代码元素之间的映射关系,包括:分别建立所述模型与所述类、所述字段与所述属性、所述动作与所述控制器、所述视图与所述模板之间的映射关系,即所述模型中包含其对应的类的唯一类名,所述字段中包含其对应的属性的唯一属性名,所述动作中包含其对应的控制器的唯一方法声明,所述视图中包含其对应的模板的唯一模板名。
[0010]优选的,所述根据所述映射关系获取编程式模块,包括:基于所述映射关系,利用面向对象编程方式编写类、属性、控制器和模板的代码,得到第一代码;将所述第一代码打包成编程式模块。
[0011]优选的,所述搭建无代码模块,包括:创建无代码模块;利用拖拽可视化组件的方式搭建所述无代码模块,以生成所述无代码模块对应的元数据,并将所述无代码模块对应的元数据注册到元数据中心。
[0012]优选的,所述根据所述无代码模块和所述映射关系,获取编程式扩展无代码模块,包括:利用元数据中心的所述无代码模块对应的元数据生成SDK包;基于所述SDK包,根据所述映射关系并利用面向对象编程方式编写类、属性、控制器和模板的代码,得到第二代码;将所述第二代码打包成所述编程式扩展无代码模块。
[0013]优选的,所述部署所述编程式模块,以使所述编程式模块对外提供服务,包括:部署所述编程式模块;所述编程式模块在启动时,先从元数据中心获取最近一次发布的元数据,然后扫描所述第一代码以获取所述第一代码中的元数据定义,并利用所述第一代码中的元数据定义对所述最近一次发布的元数据进行升级更新;所述编程式模块将升级更新后的所述最近一次发布的元数据注册到元数据中心,以使所述编程式模块根据升级更新后的所述最近一次发布的元数据对外提供服务。
[0014]优选的,所述部署所述无代码模块,以使所述无代码模块对外提供服务,包括:部署所述无代码模块;所述无代码模块在启动时,从元数据中心获取所述无代码模块对应的元数据,以根据所述无代码模块对应的元数据对外提供服务。
[0015]优选的,所述部署所述编程式扩展无代码模块,以使所述编程式扩展无代码模块对外提供服务,包括:部署所述编程式扩展无代码模块;所述编程式扩展无代码模块在启动时,先从元数据中心获取最近一次发布的元数据,然后扫描所述第二代码以获取所述第二代码中的元数据定义,并利用所述第二代码中的元数据定义对所述最近一次发布的元数据进行升级更新;所述编程式扩展无代码模块将升级更新后的所述最近一次发布的元数据注册到元数据中心,以使所述编程式模块根据升级更新后的所述最近一次发布的元数据对外提供服务。
[0016]优选的,所述元数据中心,用于进行元数据的注册和查询服务。
[0017]本专利技术采用以上技术方案,能够达到的有益效果包括:通过建立元数据与代码元素之间的映射关系,且由于代码元素为基于面向对象编程编写的代码中的元素,从而为基于无代码应用开发的面向对象编程方法提供了一个约定,以使开发人员不需要了解所有数据结构和接口细节就可以完成个性化功能;通过根据映射关系获取编程式模块,搭建无代码模块,根据无代码模块和映射关系,获取编程式扩展无代码模块,通过部署编程式模块、无代码模块和编程式扩展无代码模块,以使编程式模块、无代码模块和编程式扩展无代码模块分别对外提供服务,不仅可以将无代码应用开发与面向对象编程有效结合以完成各种个性化复杂业务逻辑,还使开发人员尽可能少的使用或者不用编程知识就可以搭建出应用软件,提升了开发人员研发业务应用的效率。
附图说明
[0018]为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0019]图1是根据一示例性实施例示出的一种基于无代码应用开发的面向对象编程方法的流程图;图2是根据一示例性实施例示出的建立元数据与代码元素之间的映射关系的示意图;图3是根据一示例性实施例示出的部署编程式模块的示意图;图4是根据一示例性实施例示出的部署无代码模块的示意图;图5是根据一示例性实施例示出的部署编程式扩展无代码模块的示意图。
具体实施方式
[0020]为使本专利技术的目的、技术方案和优点更加清楚,下面将对本专利技术的技术方案进行详细的描述。显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所得到的所有其它实施方式,都属于本专利技术所保本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于无代码应用开发的面向对象编程方法,其特征在于,所述方法包括:建立元数据与代码元素之间的映射关系,所述代码元素为基于面向对象编程编写的代码中的元素;根据所述映射关系获取编程式模块;搭建无代码模块;根据所述无代码模块和所述映射关系,获取编程式扩展无代码模块;部署所述编程式模块、所述无代码模块和所述编程式扩展无代码模块,以使所述编程式模块、所述无代码模块和所述编程式扩展无代码模块分别对外提供服务。2.根据权利要求1所述的方法,其特征在于,所述元数据包括:模型、字段、动作和视图;所述代码元素包括:类、属性、控制器和模板。3.根据权利要求2所述的方法,其特征在于,所述建立元数据与代码元素之间的映射关系,包括:分别建立所述模型与所述类、所述字段与所述属性、所述动作与所述控制器、所述视图与所述模板之间的映射关系,即所述模型中包含其对应的类的唯一类名,所述字段中包含其对应的属性的唯一属性名,所述动作中包含其对应的控制器的唯一方法声明,所述视图中包含其对应的模板的唯一模板名。4.根据权利要求1所述的方法,其特征在于,所述根据所述映射关系获取编程式模块,包括:基于所述映射关系,利用面向对象编程方式编写类、属性、控制器和模板的代码,得到第一代码;将所述第一代码打包成编程式模块。5.根据权利要求1所述的方法,其特征在于,所述搭建无代码模块,包括:创建无代码模块;利用拖拽可视化组件的方式搭建所述无代码模块,以生成所述无代码模块对应的元数据,并将所述无代码模块对应的元数据注册到元数据中心。6.根据权利要求5所述的方法,其特征在于,所述根据所述无代码模块和所述映射关系,获取编程式扩展无代码模块,包括:利用元数据中心的所述无代码模块对应的元数据生成SDK包;基于所述SDK包,根据所述映射关系并利...

【专利技术属性】
技术研发人员:邓维捷
申请(专利权)人:杭州普数软件有限公司
类型:发明
国别省市:

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

1