CN111857662A - 基于map和接口来描述对象特定构成的程序设计方法 - Google Patents

基于map和接口来描述对象特定构成的程序设计方法 Download PDF

Info

Publication number
CN111857662A
CN111857662A CN202010679435.9A CN202010679435A CN111857662A CN 111857662 A CN111857662 A CN 111857662A CN 202010679435 A CN202010679435 A CN 202010679435A CN 111857662 A CN111857662 A CN 111857662A
Authority
CN
China
Prior art keywords
component
objects
class
specific sub
dynamic
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.)
Granted
Application number
CN202010679435.9A
Other languages
English (en)
Other versions
CN111857662B (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.)
Individual
Original Assignee
Individual
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 Individual filed Critical Individual
Priority to CN202010679435.9A priority Critical patent/CN111857662B/zh
Publication of CN111857662A publication Critical patent/CN111857662A/zh
Application granted granted Critical
Publication of CN111857662B publication Critical patent/CN111857662B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/20Software design
    • G06F8/24Object-oriented
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02PCLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
    • Y02P90/00Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
    • Y02P90/30Computing systems specially adapted for manufacturing

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)

Abstract

本方案涉及基于MAP和接口来描述对象特定构成的程序设计方法。具体包括:基于Map数据结构登记成员对象;定义动态特定子对象集合操作接口并提供组件对象集合装饰器类,动态特定子对象集合操作接口用于获取和设置动态特定子对象;动态特定子对象集合中存储有与对象动态特定构成相关的动态特定子对象;提供组件对象集合类,组件对象集合类中提供有装饰器类成员对象;组件对象集合类用于为组件对象提供多个动态特定子对象集合;基于Map数据结构和动态特定子对象集合操作接口,可为序列化/反序列化、基于路径获取/设置属性值、数据同构传送等场景统一描述对象的特定构成,无需配套描述文件,降低了系统部署和运行维护的复杂度,提高系统性能。

Description

基于MAP和接口来描述对象特定构成的程序设计方法
技术领域
本发明涉及计算机技术领域,特别是涉及一种基于MAP和接口来描述对象特定构成的程序设计方法、计算机设备及存储介质。
背景技术
随着计算机软件技术的不断发展,在计算机和互联网领域,软件越来越朝着大而复杂的方向发展。在软件开发过程中,为了提高软件代码的可复用性,提高开发效率,可将常用的各种元素封装成一组相对独立的组件,每种组件能够实现一种或多种功能。业务应用开发中经常需要采用相关的框架或者引擎对各种类型的组件对象统一进行序列化或反序列化、基于路径获取或设置属性值、数据同构传送等,而框架或者引擎都要依据对象的某种特定构成的描述才能够实现。描述对象特定构成的常规做法是采用配套的描述文件,或者直接将其映射到文件上,框架或者引擎可基于这些描述文件来理解对象的特定构成,完成相应的操作。
然而,使用描述文件,框架或者引擎运行时都需要深度运用反射技术才能实现,往往存在系统资源消耗和浪费,使得系统的处理性能较低的问题。
发明内容
基于此,为了解决上述技术问题,提供一种基于MAP和接口来描述对象特定构成的程序设计方法、计算机设备及存储介质,可以提高系统的处理性能。
一种基于MAP和接口来描述对象特定构成的程序设计方法,所述方法包括:
基于Map数据结构登记成员对象;所述成员对象为元素对象和组件对象;
定义动态特定子对象集合操作接口;为所述动态特定子对象集合操作接口提供组件对象集合装饰器类,所述动态特定子对象集合操作接口用于通过所述组件对象集合装饰器类获取和设置动态特定子对象;动态特定子对象集合中存储有与对象动态特定构成相关的动态特定子对象;
提供组件对象集合类,所述组件对象集合类中提供有装饰器类成员对象;所述组件对象集合类用于通过所述装饰器类成员对象,为所述组件对象提供多个动态特定子对象集合;
基于Map数据结构和动态特定子对象集合操作接口,统一描述对象的特定构成。
在其中一个实施例中,所述基于Map数据结构登记成员对象,包括:
基于Map数据结构登记和访问属于特定构成的成员对象,且属于所述特定构成的成员对象为元素对象、组件对象;
定义元素对象基类并从所述基类派生出对应于值类型的元素类型,派生出的元素类型用于替代值类型成员声明;
将符合派生类型的元素对象、组件对象登记在所述Map数据结构中。
在其中一个实施例中,所述方法还包括:
按整数索引加入和移除组件对象;
根据所述整数索引访问将所述组件对象。
在其中一个实施例中,所述方法还包括:
根据所述整数索引遍历所述动态特定子对象集合,并从所述动态特定子对象集合中获取所述动态特定子对象。
在其中一个实施例中,所述方法还包括:
当设置组件对象时,为与所述组件对象对应的动态子对象分配类名和唯一标识,并将所述类名和唯一标识作为所述组件对象的对象名。
在其中一个实施例中,所述方法还包括:
基于所述Map数据结构按成员对象名称登记成员对象,并通过所述成员对象名称访问成员对象。
在其中一个实施例中,所述方法还包括:
定义所述组件对象集合类,所述组件对象集合类由组件类派生得到;
所述组件对象集合类用于支持所述动态特定子对象集合的管理,且所述组件对象集合类的实例化对象登记在所述Map数据结构中。
一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
基于Map数据结构登记成员对象;所述成员对象为元素对象和组件对象;
定义动态特定子对象集合操作接口;为所述动态特定子对象集合操作接口提供组件对象集合装饰器类,所述动态特定子对象集合操作接口用于通过所述组件对象集合装饰器类获取和设置动态特定子对象;动态特定子对象集合中存储有与对象动态特定构成相关的动态特定子对象;
提供组件对象集合类,所述组件对象集合类中提供有装饰器类成员对象;所述组件对象集合类用于通过所述装饰器类成员对象,为所述组件对象提供多个动态特定子对象集合;
基于Map数据结构和动态特定子对象集合操作接口,统一描述对象的特定构成。
一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:
基于Map数据结构登记成员对象;所述成员对象为元素对象和组件对象;
定义动态特定子对象集合操作接口;为所述动态特定子对象集合操作接口提供组件对象集合装饰器类,所述动态特定子对象集合操作接口用于通过所述组件对象集合装饰器类获取和设置动态特定子对象;动态特定子对象集合中存储有与对象动态特定构成相关的动态特定子对象;
提供组件对象集合类,所述组件对象集合类中提供有装饰器类成员对象;所述组件对象集合类用于通过所述装饰器类成员对象,为所述组件对象提供多个动态特定子对象集合;
基于Map数据结构和动态特定子对象集合操作接口,统一描述对象的特定构成。
上述基于MAP和接口来描述对象特定构成的程序设计方法、计算机设备及存储介质,基于Map数据结构登记成员对象;成员对象为元素对象和组件对象;定义动态特定子对象集合操作接口;为动态特定子对象集合操作接口提供组件对象集合装饰器类,动态特定子对象集合操作接口用于通过组件对象集合装饰器类获取和设置动态特定子对象;动态特定子对象集合中存储有与对象动态特定构成相关的动态特定子对象;提供组件对象集合类,组件对象集合类中提供有装饰器类成员对象;组件对象集合类用于通过装饰器类成员对象,为组件对象提供多个动态特定子对象集合;基于Map数据结构和动态特定子对象集合操作接口,统一描述对象的特定构成。基于Map数据结构和动态特定子对象集合操作接口,可以为序列化/反序列化、基于路径获取/设置属性值、数据同构传送等应用场景统一描述对象的特定构成,无需配套的描述文件,降低了系统部署和运行维护工作复杂度,提高系统的处理性能。
附图说明
图1为一个实施例中基于MAP和接口来描述对象特定构成的程序设计方法的应用环境图;
图2为一个实施例中基于MAP和接口来描述对象特定构成的程序设计方法的流程示意图;
图3为一个实施例中计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
本申请实施例提供的基于MAP和接口来描述对象特定构成的程序设计方法,可以应用于如图1所示的应用环境中。如图1所示,该应用环境包括计算机设备110。在计算机设备110中基于Map数据结构登记成员对象;成员对象为元素对象和组件对象;通过计算机设备110可以定义动态特定子对象集合操作接口;为动态特定子对象集合操作接口提供组件对象集合装饰器类,动态特定子对象集合操作接口用于通过组件对象集合装饰器类获取和设置动态特定子对象;动态特定子对象集合中存储有与对象动态特定构成相关的动态特定子对象;通过计算机设备110可以提供组件对象集合类,组件对象集合类中提供有装饰器类成员对象;组件对象集合类用于通过装饰器类成员对象,为组件对象提供多个动态特定子对象集合;基于Map数据结构和动态特定子对象集合操作接口,统一描述对象的特定构成。其中,计算机设备110可以但不限于是各种个人计算机、笔记本电脑、平板电脑等。
在一个实施例中,如图2所示,提供了一种基于MAP和接口来描述对象特定构成的程序设计方法,包括以下步骤:
步骤202,基于Map数据结构登记成员对象;成员对象为元素对象和组件对象。
Map数据结构又称为查找表,用于存储所谓“key-value"映射对;Key可以看成是Value的索引,作为key的对象在集合中不可重复。在本实施例中,计算机设备可以基于Map数据结构登记成员对象,其中,可登记的成员对象可以是元素对象和组件对象。
步骤204,定义动态特定子对象集合操作接口;为动态特定子对象集合操作接口提供组件对象集合装饰器类,动态特定子对象集合操作接口用于通过组件对象集合装饰器类获取和设置动态特定子对象;动态特定子对象集合中存储有与对象动态特定构成相关的动态特定子对象。
动态特定子对象集合操作接口可以是IGetUnnamedComponent接口。在本实施例中,通过计算机设备可以定义动态特定子对象集合操作接口并提供接口实现,具体的,通过计算机设备可以为动态特定子对象集合操作接口提供组件对象集合装饰器类。通过动态特定子对象集合操作接口以及组件对象集合装饰器类可以获取和设置动态特定子对象集合中的动态特定子对象。其中,动态特定子对象集合中存储有与对象动态特定构成相关的动态特定子对象。某些成员对象有描述动态特定构成的需求,动态特定子对象集合可以有多种结构类型,举例说明,有容器、数组表、哈希表、双向链表等,计算机设备可以通过动态特定子对象集合操作接口获取和设置动态特定子对象集合中的动态特定子对象。
其中,特定构成可以用于表示在序列化/反序列化、基于路径获取/设置属性值、数据同构传送等场景的应用中,需要对象向应用场景提供的对象结构信息。
步骤206,提供组件对象集合类,组件对象集合类中提供有装饰器类成员对象;组件对象集合类用于通过装饰器类成员对象,为组件对象提供多个动态特定子对象集合。
步骤208,基于Map数据结构和动态特定子对象集合操作接口,统一描述对象的特定构成。
在本实施例中,基于Map数据结构登记成员对象;成员对象为元素对象和组件对象;定义动态特定子对象集合操作接口;为动态特定子对象集合操作接口提供组件对象集合装饰器类,动态特定子对象集合操作接口用于通过组件对象集合装饰器类获取和设置动态特定子对象;动态特定子对象集合中存储有与对象动态特定构成相关的动态特定子对象;提供组件对象集合类,组件对象集合类中提供有装饰器类成员对象;组件对象集合类用于通过装饰器类成员对象,为组件对象提供多个动态特定子对象集合;基于Map数据结构和动态特定子对象集合操作接口,统一描述对象的特定构成。基于Map数据结构和动态特定子对象集合操作接口,可以为序列化/反序列化、基于路径获取/设置属性值、数据同构传送等应用场景统一描述对象的特定构成,无需配套的描述文件,降低了系统部署和运行维护工作复杂度,提高系统的处理性能。
在一个实施例中,提供的一种基于MAP和接口来描述对象特定构成的程序设计方法还可以包括基于Map数据结构登记成员对象的过程,具体包括:基于Map数据结构登记和访问属于特定构成的成员对象,且属于特定构成的成员对象为元素对象、组件对象;定义元素对象基类并从基类派生出对应于值类型的元素类型,派生出的元素类型用于替代值类型成员声明;将符合派生类型的元素对象、组件对象登记在Map数据结构中。
在本实施例中,成员对象中可登记的成员对象的类型是有要求的,可登记的成员对象必须是组件对象,而软件应用往往需要登记一些基本类型成员对象,但在所有面向对象语言中,基本类型几乎都是所谓的值类型,而值类型对象是无法直接登记到HashMap中的。为此,组件对象模型提供了元素对象,用以替代语言提供的值类型,来声明和实例化需要登记的基本类型的成员对象。其中,组件对象模型提供的常用的元素对象有:Integer、Boolean、String、Float、Decimal、DateTime等。
在一个实施例中,提供的一种基于MAP和接口来描述对象特定构成的程序设计方法还可以包括:按整数索引加入和移除组件对象;根据整数索引访问将组件对象。
在一个实施例中,提供的一种基于MAP和接口来描述对象特定构成的程序设计方法还可以包括:根据整数索引遍历动态特定子对象集合,并从动态特定子对象集合中获取动态特定子对象。
在使用动态接口即IGetUnnamedComponent接口设置元素对象的动态特定子对象集合时,IGetUnnamedComponent接口可以定义为:
interface IGetUnnamedComponent{
Component GetUnnamedComponent(boolean isLoading,int index,RefStringname);
}
其中,isLoading为true;index表示新加入的子对象的整数索引,对于哈希表、双向链表这类集合而言此参数可忽略;name表示子对象的类名和集合内的唯一标识,格式为:类名+”-”+唯一标识,例如,Staffer-00105029,Customer-20200202,Staffer,等等。即,要依据类名实例化子对象并返回新实例化的子对象,子对象的类型可以是不同的;每个子对象都可以有一个唯一标识,如果集合中已经存在指定的唯一标识,则不实例化新的子对象,而是直接返回已经存在的具有相同标识的子对象。
在一个实施例中,提供的一种基于MAP和接口来描述对象特定构成的程序设计方法还可以包括:当设置组件对象时,为与组件对象对应的动态子对象分配类名和唯一标识,并将类名和唯一标识作为组件对象的对象名。
在使用动态接口即IGetUnnamedComponent接口获取元素对象的动态特定子对象集合时,IGetUnnamedComponent接口可以定义为:
interface IGetUnnamedComponent{
Component GetUnnamedComponent(boolean isLoading,int index,RefStringname);
}
其中,isLoading为false;index表示要获取的子对象的整数索引。考虑到有关框架或者引擎只会使用IGetUnnamedComponent接口遍历获取所有动态特定子对象,因此,对于哈希表、双向链表这类集合而言,可以在index参数为0时,内部先建立一个ArrayList,保存所有子对象引用,然后,即可基于这个ArrayList和index参数返回相应的子对象;name用以输出子对象的类名和唯一标识,格式也是类名+”-”+唯一标识;如果index对应的子对象不存在则返回null。
在一个实施例中,提供的一种基于MAP和接口来描述对象特定构成的程序设计方法还可以包括:基于Map数据结构按成员对象名称登记成员对象,并通过成员对象名称访问成员对象。
在一个实施例中,提供的一种基于MAP和接口来描述对象特定构成的程序设计方法还可以包括:定义组件对象集合类,组件对象集合类由组件类派生得到;组件对象集合类用于支持动态特定子对象集合的管理,且组件对象集合类的实例化对象登记在Map数据结构中。
应该理解的是,虽然上述各个流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,上述各个流程图中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是终端,其内部结构图可以如图3所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口、显示屏和输入装置。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机设备的显示屏可以是液晶显示屏或者电子墨水显示屏,该计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
本领域技术人员可以理解,图3中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现以下步骤:
基于Map数据结构登记成员对象;成员对象为元素对象和组件对象;
定义动态特定子对象集合操作接口;为动态特定子对象集合操作接口提供组件对象集合装饰器类,动态特定子对象集合操作接口用于通过组件对象集合装饰器类获取和设置动态特定子对象;动态特定子对象集合中存储有与对象动态特定构成相关的动态特定子对象;
提供组件对象集合类,组件对象集合类中提供有装饰器类成员对象;组件对象集合类用于通过装饰器类成员对象,为组件对象提供多个动态特定子对象集合;
基于Map数据结构和动态特定子对象集合操作接口,统一描述对象的特定构成。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:基于Map数据结构登记和访问属于特定构成的成员对象,且属于特定构成的成员对象为元素对象、组件对象;定义元素对象基类并从基类派生出对应于值类型的元素类型,派生出的元素类型用于替代值类型成员声明;将符合派生类型的元素对象、组件对象登记在Map数据结构中。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:按整数索引加入和移除组件对象;根据整数索引访问将组件对象。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:根据整数索引遍历动态特定子对象集合,并从动态特定子对象集合中获取动态特定子对象。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:当设置组件对象时,为与组件对象对应的动态子对象分配类名和唯一标识,并将类名和唯一标识作为组件对象的对象名。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:基于Map数据结构按成员对象名称登记成员对象,并通过成员对象名称访问成员对象。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:定义组件对象集合类,组件对象集合类由组件类派生得到;组件对象集合类用于支持动态特定子对象集合的管理,且组件对象集合类的实例化对象登记在Map数据结构中。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:
基于Map数据结构登记成员对象;成员对象为元素对象和组件对象;
定义动态特定子对象集合操作接口;为动态特定子对象集合操作接口提供组件对象集合装饰器类,动态特定子对象集合操作接口用于通过组件对象集合装饰器类获取和设置动态特定子对象;动态特定子对象集合中存储有与对象动态特定构成相关的动态特定子对象;
提供组件对象集合类,组件对象集合类中提供有装饰器类成员对象;组件对象集合类用于通过装饰器类成员对象,为组件对象提供多个动态特定子对象集合;
基于Map数据结构和动态特定子对象集合操作接口,统一描述对象的特定构成。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:基于Map数据结构登记和访问属于特定构成的成员对象,且属于特定构成的成员对象为元素对象、组件对象;定义元素对象基类并从基类派生出对应于值类型的元素类型,派生出的元素类型用于替代值类型成员声明;将符合派生类型的元素对象、组件对象登记在Map数据结构中。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:按整数索引加入和移除组件对象;根据整数索引访问将组件对象。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:根据整数索引遍历动态特定子对象集合,并从动态特定子对象集合中获取动态特定子对象。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:当设置组件对象时,为与组件对象对应的动态子对象分配类名和唯一标识,并将类名和唯一标识作为组件对象的对象名。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:基于Map数据结构按成员对象名称登记成员对象,并通过成员对象名称访问成员对象。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:定义组件对象集合类,组件对象集合类由组件类派生得到;组件对象集合类用于支持动态特定子对象集合的管理,且组件对象集合类的实例化对象登记在Map数据结构中。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。

Claims (9)

1.一种基于MAP和接口来描述对象特定构成的程序设计方法,其特征在于,所述方法包括:
基于Map数据结构登记成员对象;所述成员对象为元素对象和组件对象;
定义动态特定子对象集合操作接口;为所述动态特定子对象集合操作接口提供组件对象集合装饰器类,所述动态特定子对象集合操作接口用于通过所述组件对象集合装饰器类获取和设置动态特定子对象;动态特定子对象集合中存储有与对象动态特定构成相关的动态特定子对象;
提供组件对象集合类,所述组件对象集合类中提供有装饰器类成员对象;所述组件对象集合类用于通过所述装饰器类成员对象,为所述组件对象提供多个动态特定子对象集合;
基于Map数据结构和动态特定子对象集合操作接口,统一描述对象的特定构成。
2.根据权利要求1所述的方法,其特征在于,所述基于Map数据结构登记成员对象,包括:
基于Map数据结构登记和访问属于特定构成的成员对象,且属于所述特定构成的成员对象为元素对象、组件对象;
定义元素对象基类并从所述基类派生出对应于值类型的元素类型,派生出的元素类型用于替代值类型成员声明;
将符合派生类型的元素对象、组件对象登记在所述Map数据结构中。
3.根据权利要求1所述的方法,其特征在于,所述方法还包括:
按整数索引加入和移除组件对象;
根据所述整数索引访问将所述组件对象。
4.根据权利要求3所述的方法,其特征在于,所述方法还包括:
根据所述整数索引遍历所述动态特定子对象集合,并从所述动态特定子对象集合中获取所述动态特定子对象。
5.根据权利要求1所述的方法,其特征在于,所述方法还包括:
当设置组件对象时,为与所述组件对象对应的动态子对象分配类名和唯一标识,并将所述类名和唯一标识作为所述组件对象的对象名。
6.根据权利要求1所述的方法,其特征在于,所述方法还包括:
基于所述Map数据结构按成员对象名称登记成员对象,并通过所述成员对象名称访问成员对象。
7.根据权利要求1所述的方法,其特征在于,所述方法还包括:
定义所述组件对象集合类,所述组件对象集合类由组件类派生得到;
所述组件对象集合类用于支持所述动态特定子对象集合的管理,且所述组件对象集合类的实例化对象登记在所述Map数据结构中。
8.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至7中任一项所述方法的步骤。
9.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至7中任一项所述的方法的步骤。
CN202010679435.9A 2020-07-15 2020-07-15 基于map和接口来描述对象特定构成的程序设计方法 Active CN111857662B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010679435.9A CN111857662B (zh) 2020-07-15 2020-07-15 基于map和接口来描述对象特定构成的程序设计方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010679435.9A CN111857662B (zh) 2020-07-15 2020-07-15 基于map和接口来描述对象特定构成的程序设计方法

Publications (2)

Publication Number Publication Date
CN111857662A true CN111857662A (zh) 2020-10-30
CN111857662B CN111857662B (zh) 2023-06-30

Family

ID=72983522

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010679435.9A Active CN111857662B (zh) 2020-07-15 2020-07-15 基于map和接口来描述对象特定构成的程序设计方法

Country Status (1)

Country Link
CN (1) CN111857662B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112604273A (zh) * 2020-12-24 2021-04-06 完美世界(北京)软件科技发展有限公司 数据驱动的游戏系统功能加载方法、设备及存储介质

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6016392A (en) * 1995-11-03 2000-01-18 Intergraph Corporation Method for object-oriented programming using dynamic interfaces
US6173297B1 (en) * 1997-09-12 2001-01-09 Ericsson Inc. Dynamic object linking interface
US20020004934A1 (en) * 1998-07-15 2002-01-10 Michael J. Toutonghi Dynamic mapping of component interfaces
US20080005169A1 (en) * 2006-06-30 2008-01-03 Frank Busalacchi Global information architecture
CN101819711A (zh) * 2010-03-25 2010-09-01 曹蕤 一种基于3g/4g通信技术的遥控飞行系统
CN103718155A (zh) * 2011-08-11 2014-04-09 微软公司 运行时系统
CN106462412A (zh) * 2014-04-22 2017-02-22 甲骨文国际公司 动态地产生的基于模式的类的结构识别
US20200174800A1 (en) * 2018-12-04 2020-06-04 Sap Se Web Component Design and Integration System

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6016392A (en) * 1995-11-03 2000-01-18 Intergraph Corporation Method for object-oriented programming using dynamic interfaces
US6173297B1 (en) * 1997-09-12 2001-01-09 Ericsson Inc. Dynamic object linking interface
US20020004934A1 (en) * 1998-07-15 2002-01-10 Michael J. Toutonghi Dynamic mapping of component interfaces
US20080005169A1 (en) * 2006-06-30 2008-01-03 Frank Busalacchi Global information architecture
CN101819711A (zh) * 2010-03-25 2010-09-01 曹蕤 一种基于3g/4g通信技术的遥控飞行系统
CN103718155A (zh) * 2011-08-11 2014-04-09 微软公司 运行时系统
CN106462412A (zh) * 2014-04-22 2017-02-22 甲骨文国际公司 动态地产生的基于模式的类的结构识别
US20200174800A1 (en) * 2018-12-04 2020-06-04 Sap Se Web Component Design and Integration System

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
金静梅;: "Java集合框架在Web开发中的应用", 计算机时代, no. 06 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112604273A (zh) * 2020-12-24 2021-04-06 完美世界(北京)软件科技发展有限公司 数据驱动的游戏系统功能加载方法、设备及存储介质
CN112604273B (zh) * 2020-12-24 2021-08-24 完美世界(北京)软件科技发展有限公司 数据驱动的游戏系统功能加载方法、设备及存储介质

Also Published As

Publication number Publication date
CN111857662B (zh) 2023-06-30

Similar Documents

Publication Publication Date Title
CN109684607B (zh) Json数据解析方法、装置、计算机设备和存储介质
US8181155B2 (en) Unified expression and location framework
US7624349B2 (en) Declarative definition enabling graphical designer reuse
Martí et al. Dataclay: A distributed data store for effective inter-player data sharing
CN114531477B (zh) 功能组件的配置方法、装置、计算机设备和存储介质
CN113504918A (zh) 设备树配置优化方法、装置、计算机设备和存储介质
CN109542962B (zh) 数据处理方法、装置、计算机设备和存储介质
CN110866011B (zh) 数据表同步方法、装置、计算机设备和存储介质
CN112187713A (zh) 报文转换的方法、装置、计算机设备和存储介质
Tribastone et al. Automatic translation of UML sequence diagrams into PEPA models
CN111857662A (zh) 基于map和接口来描述对象特定构成的程序设计方法
CN110727777A (zh) 知识图谱的管理方法、装置、计算机设备和存储介质
CN106293967A (zh) 一种远程注入代码的方法及系统
CN104331275A (zh) 一种Java卡及其应用打补丁的方法
CN112286594B (zh) 对象序列化和反序列化方法及设备、电子设备和介质
CN109241371A (zh) 地图数据存储方法、加载方法、装置和计算机设备
CN111797278A (zh) 一种映射关联对象与关系的方法
US20100058283A1 (en) Flexible base class library
CN115756483A (zh) 编译方法、装置、计算机设备和存储介质
KR20100110710A (ko) 동적 라이브러리를 갖는 인터페이스를 간단히 하는 방법, 시스템 및 컴퓨터 프로그램 제품
CN110928607B (zh) 业务实现方法、装置、计算机设备及存储介质
Schöpp From call-by-value to interaction by typed closure conversion
CN115269040A (zh) 一种租户业务应用的拓展方法、装置及系统
CN112416410A (zh) 小程序的数据管理方法、装置、计算机设备和存储介质
CN112214213A (zh) Linux内核的开发和管理方法、装置、计算机设备和存储介质

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
GR01 Patent grant
GR01 Patent grant