本发明涉及计算机技术领域,具体地,涉及一种实现相同目标的编程系统。
背景技术:
随着科技和社会的快速发展,计算机软件工程变得越来越重要,各行各业中的机械自动化、智能化控制、互联网、物联网等等对于软件开发的效率、控制或运行速度等要求也越来越多。
软件工程应用中,传统的面向对象方法(object-orientedmethod)的编程开发技术,其是将真实世界映射到软件内的对象上,包括属性、对象和事件,从而实现对于真实世界中物的控制。但是这种传统的面向对象的编程开发技术解决的问题层面是颗粒度的问题,即针对于不同个体的通用定义。这就导致传统的面向对象的编程开发技术在处理群体问题时,需要一个个个体进行操作,带来了事件的低效处理问题,即使针对不同个体进行相同的操作,需要程序员完成大量复杂、重复或类似的编程开发工作,这一方面带来大量的人工成本的浪费,另一方面导致采用此种方法开发的软件程序的代码量激增,虽然最终能实现软件的技术目的,但在运行中则可能带来控制对象或程序运行速度过慢等问题,而且因为需要大量的编程工作,所以软件开发的效率也无法提高。
经检索,申请号为201610979132.2的中国专利申请,公开了一种结构化编程方法,属于自动控制技术领域,适用于采用可编程逻辑控制器进行控制的至少一个作业装置,每个作业装置分别包括第一模块和第二模块实现操作功能,每个作业装置之间的第一模块相同,每个作业装置之间的第二模块不同;对第一模块进行统一编程,对第二模块进行分别编程;对每个作业装置定义不同的地址;根据每个作业装置接收到的控制指令中的地址命令和操作命令,调取对应地址的作业装置的第一控制程序和/或第二控制程序,从而控制对应地址命令的作业装置根据控制指令来执行动作。该方法虽然能提高编程效率,但其是面向过程的编程方法,适用范围窄,其优化编程的方式是优化编程的结构,优化方式单一、程序量大。
因此,采用传统的计算机软件编程方法已经不能满足工业应用的需求。如何提高软件工程的开发效率,降低代码量和开发中人工成本,以及如何提高控制对象或程序运行速度,成为本领域亟待解决的问题。
技术实现要素:
针对现有技术中存在的上述不足,本发明的目的是提供一种实现相同目标的编程系统,该系统解决更高层次的使用角度的问题,开发过程中无需定义编程对象,大大降低代码量和开发中人工成本,并提高了软件的开发效率和运行速度,能更好地满足现有工业应用中对于软件开发的需求。
本发明是通过以下技术方案实现的。
一种实现相同目标的编程系统,对同一种类型或者不同类型的变量,可以同时实施一个相同目标上的动作函数。
具体的,所述系统包括:
-组件模块,所述组件模块提供多种组件;
-ui界面搭建模块,所述ui界面搭建模块用于布置所选取的多个组件作为变量,搭建交互界面;
-函数模块,所述函数模块包括多个动作函数以供选取;
-参数编辑模块,所述参数编辑模块编辑多个所述变量的id号;
-代码编辑模块,所述代码编辑模块选择函数模块中能够实现相同目标的动作函数编辑实例代码,特别是,将多个所述变量的id号写入动作函数;
-代码保存模块,所述代码保存模块保存所述代码编辑模块中形成的代码;
-代码执行模块,所述代码执行模块执行所述代码保存模块中保存的代码,通过一个所述动作函数实现对多个所述变量(即同一种对象的不同实例)在一个相同目标上的操作。
优选地,所述ui界面搭建模块包括用于搭建layer层的layer层组件以及布置于layer层中的多个其他组件。
优选地,所述参数编辑模块能够获取layer层组件以及每一个其他组件的id号,即多个所述变量的id号。
优选地,所述参数编辑模块还能够编辑多个所述变量的其他属性信息。
优选地,所述其他属性信息包括如下任意一种或任意多种:
-组件的位置;
-组件的尺寸;
-组件的颜色;
-组件的透明度。
优选地,所述组件模块提供的组件包括:基础组件、通用组件和高级组件。
优选地,多个所述变量的类型相同或不同。
优选地,所述函数模块包括:
-系统函数单元,所述系统该函数单元用于提供与系统相关的函数操作和函数说明;
-ui函数单元,所述ui函数单元用于提供与ui相关的函数操作和函数说明;
-逻辑函数单元,所述逻辑函数单元用于提供与逻辑相关的函数操作和函数说明;
-对象函数单元,所述对象函数单元用于提供与对象相关的函数操作和函数说明;
-数据函数单元,所述数据函数单元用于提供与数据相关的函数操作和函数说明;
-字符函数单元,所述字符函数单元用于提供与字符相关的函数操作和函数说明;
-文件函数单元,所述文件函数单元用于提供与文件流相关的函数操作和函数说明。
优选地,所述代码编辑模块从所述函数模块中选取一个动作函数到多个所述变量中任意一个变量的编辑代码中,并修改该动作函数中的参数名称为参数编辑模块中定义的多个变量的id号。
优选地,多个所述变量的id号为变量建立时默认的id号或通过赋值得到的id号。
与现有技术相比,本发明具有如下有益效果:
1、本发明提供的实现相同目标的编程系统,其优化编程效率的方式是封装常用模块、优化数据使用、界面和编程分离等方式;这里的优化编程效率的方式即是通过对同一类对象实施一种动作函数,可以同时进行操作的特性得以实现;
2、本发明提供的实现相同目标的编程系统通过直接输入代码实现;
3、本发明在编程时不再停留在对象的层面进行设计,而是提高到方向(相同目标)用法的角度进行设计,从而可以实施多变量和不同类型变量的操作;
4、现有技术中,为了实现不同类型变量的相同动作,不同类型的变量需要单独操作;本发明对于同一个动作的操作(即同一个目标),不再需要针对不同变量分别实现,可以通过一个动作函数同时实现,能大大简化代码量,从而降低了开发人员的工作量和人工成本,大大提高软件的开发效率,实现软件的快速交付,同时,因为代码量的减少能进一步提高被控制对象或软件运行速度,更好地满足现有工业应用中对于软件开发的需求。
附图说明
通过阅读参照以下附图对非限制性实施例所作的详细描述,本发明的其它特征、目的和优点将会变得更明显:
图1为本发明实现相同目标的编程系统一实施例的结构框图。
具体实施方式
下面对本发明的实施例作详细说明:本实施例在以本发明技术方案为前提下进行实施,给出了详细的实施方式和具体的操作过程。应当指出的是,对本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。
如图1所示,一种实现相同目标的编程系统的一实施例结构框图,该系统对同一种类型变量或者不同类型的变量,可以同时实施一个相同目标上的动作函数。图中包括如下模块:
-组件模块,所述组件模块提供多种组件;
-ui界面搭建模块,所述ui界面搭建模块用于布置多个组件作为变量,搭建交互界面;
-函数模块,所述函数模块包括多个动作函数以供选取;
-参数编辑模块,所述参数编辑模块编辑多个所述变量的id号;还可以编辑其他属性信息;
-代码编辑模块,所述代码编辑模块选择函数模块中能够实现相同目标的动作函数编辑实例代码,特别是,将多个所述变量的id号写入动作函数;
-代码保存模块,所述代码保存模块保存所述代码编辑模块中形成的代码;
-代码执行模块,所述代码执行模块执行所述代码保存模块中保存的代码,通过一个所述动作函数实现对多个所述变量(即同一种对象的不同实例)在一个相同目标上的操作。
进一步地,所述ui界面搭建模块包括用于构建layer层的layer层组件以及布置于layer层中的多个其他组件。
进一步地,所述参数编辑模块能够获取每一个组件(layer层组件和每一个其他组件)的id号,即多个变量的id号,进而定义变量。
进一步地,所述其他属性信息包括如下任意一种或任意多种:
-组件的位置;
-组件的尺寸;
-组件的颜色;
-组件的透明度。
进一步地,所述组件模块提供的组件包括:基础组件、通用组件和高级组件;其中:
所述基本组件包括如下任意一个或任意多个组件:
-label组件,用于构建标签;
-textbox组件,用于构建文本框;
-image组件,用于构建image图像;
-gif组件,用于构建gif动图;
-apng组件,用于构建apng图像;
-commandbutton组件,用于构建按钮;
-var组件,用于构建代码中的变量。
进一步地,所述通用组件包括如下任意一个或任意多个组件:
-menu组件,用于构建菜单栏;
-combobox组件,用于构建下拉框;
-listbox组件,用于构建列表框;
-checkbox组件,用于构建复选框;
-optionbutton组件,用于构建单点选择框;
-datebox组件,用于构建日期选择组件;
-timebox组件,用于构建时间组件;
-progrebar组件,用于构建进度条;
-timer组件,用于构建触发时钟。
进一步地,所述高级组件包括如下任意一个或任意多个组件:
-chart组件,用于构建图表框;
-flash组件,用于构建flash;
-report组件,用于构建报表组件;
-tree组件,用于构建树组件;
-webbrowser组件,用于构建浏览器组件。
进一步地,多个变量的类型相同或者不同。
优选地,所述函数模块中,动作函数包括:系统函数、ui函数、逻辑函数、对象函数、数据函数、字符函数以及文件函数中的一种或多种;其中:
-系统函数单元,提供与系统相关的函数操作和函数说明,系统函数包括:colorbrowse(调色板),clipboard(粘贴复制板),exit(退出)等;
-ui函数单元,提供与ui相关的函数操作和函数说明,ui函数包括:hidebutton(隐藏按钮),hidecontrol(隐藏组件),hidelayer(隐藏层)等;
-逻辑函数单元,提供与逻辑相关的函数操作和函数说明,逻辑函数包括:for(循环逻辑),if(判断逻辑),case(选择逻辑)等;
-对象函数单元,提供与对象相关的函数操作和函数说明,对象函数包括:append(添加),clear(清除),clone(克隆)等;
-数据函数单元,提供与数据相关的函数操作和函数说明,数据函数包括:bindingdatato(绑定数据),count(计数),db(数据库函数)等;
-字符函数单元,提供与字符相关的函数操作和函数说明,字符函数包括:decode(解码),encode(编码),replace(替换)等;
-文件函数单元,提供与文件流相关的函数操作和函数说明,文件函数包括:filebrowse(文件浏览),filedelete(文件删除),filewrite(写入文件)等。
进一步地,所述参数写入模块从函数模块中选取动作函数到多个变量中的任意一个变量的编辑代码中,并修改动作函数中的参数名称为参数编辑模块中定义的多个变量的id号。
进一步地,所述变量的id号为对象变量建立时默认的id号或通过赋值得到的id号。
需要说明的是:在本实施例中,可以将实现相同目标定义为面向方向,即操作不同类别的个体或者相同类别的个体,实现某种相同的目标;实现相同目标的动作函数,其操作的变量类型可以相同或者不同,最后获得的结果是相同的,即通过该动作函数,不同变量最后达到的效果是相同的。
本实施例提供的实现相同目标的编程系统,相对于面向过程和面向对象的编程,该编程系统实现相同目标,即对同一种类型或者不同类型的变量,可以同时实施一个相同目标上的动作函数,可以大大降低程序量,提高编程效率。
为了更具体的了解本发明,以下通过具体应用实例进行说明,但该应用实例并不用来限定本发明。对于相关领域普通技术人员已知的技术、方法和设备可能不作详细讨论,但在适当情况下,所述技术、方法和设备应当被视为说明书的一部分。
在以下应用实例中,实现相同目标的编程系统的实施采用计算机系统进行,计算机系统包括计算机,计算机包括经由系统总线连接的处理单元、系统存储器、固定存储器接口、移动存储器接口、用户输入接口、网络接口、视频接口和输出外围接口等;
其中,在处理单元的支持下,通过用户输入接口实现本实施例实现相同目标的编程系统的实施;使用组件模块选取组件到ui界面搭建模块中需要通过键盘或者触摸屏完成,在参数编辑模块中编辑组件的属性需要通过键盘完成;选取动作函数到代码编辑模块需要通过鼠标或者触摸屏点击,或者通过键盘输入;形成的事件程序代码还能够通过固定存储器接口、移动存储器接口、网络接口、视频接口和输出外围接口等保存至其他存储器或运行环境中;使用代码保存模块需要通过鼠标或者触摸屏点击保存代码至存储硬盘;使用代码运行模块需要通过鼠标点击运行解释器,解释运行存储在硬盘上的代码,通过计算机显示器显示运行的软件。
需要说明的是,上述硬件配置说明仅仅是说明性的,并且决不意味着对本实施例应用或使用的任何限制。
应用实例说明:
实例举例1:实现清除变量值的案例
实现相同目标的编程系统,可以同时操作多个变量。在软件系统(例如ucc开发软件)中,通过ui界面搭建模块搭建layer和一个button。从函数模块中选择clear函数,通过代码编辑模块插入代码clear,并在语句后跟上不同的对象变量的id号,对象变量的类型可以不同,代码保存模块保存代码,代码运行模块执行代码,即能同时清除所有的对象变量的值。
部分程序示例:
clear:btn1,db数据集;
实例举例2:实现指定组件的置顶的顺序
通过ui界面搭建模块在软件系统(例如ucc开发软件)中拖动layer,然后拖动其他的组件到layer的容器中布置好,选取某一个组件编写点击事件,在函数模块中选取函数setontop函数,并将期望的组件置顶顺序通过代码编模块将对应组件的id号写到函数后的参数中。点击action代码保存模块保存代码,点击组件代码运行模块运行代码,即能实现指定组件的置顶的顺序。
部分程序示例:
setontop:layer1,layer2,layer3;
本实施例通过一个动作函数,实现对多个变量(类型可以相同,也可以不同)在一个相同目标上的操作。
本发明上述实施例的实现相同目标的编程系统,不再停留在对象的层面进行设计,而是提高到方向(相同目标)用法的角度进行设计,从而可以实施多对象和不同类型对象的操作,简化代码量,对于同一个动作的操作,不再需要针对不同对象分别实现,可以通过一个动作函数同时实现,大大提高软件的开发效率,实现软件的快速交付。
附图中的框图显示了根据本发明的较优实施例的方法功能和操作。在这点上,框图或框图中的每个方框可以代表一个模块、程序段或指令的一部分,所述模块、程序段或指令的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图中的每个方框、以及方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。对于本领域技术人员来说公知的是,通过硬件方式实现、通过软件方式实现以及通过软件和硬件结合的方式实现都是等价的。
以上对本发明的具体实施例进行了描述。需要理解的是,本发明并不局限于上述特定实施方式,本领域技术人员可以在权利要求的范围内做出各种变形或修改,这并不影响本发明的实质内容。