CN113885873A - 轻量级OpenHarmony操作系统应用开发对象管理系统及其应用方法 - Google Patents

轻量级OpenHarmony操作系统应用开发对象管理系统及其应用方法 Download PDF

Info

Publication number
CN113885873A
CN113885873A CN202111153503.9A CN202111153503A CN113885873A CN 113885873 A CN113885873 A CN 113885873A CN 202111153503 A CN202111153503 A CN 202111153503A CN 113885873 A CN113885873 A CN 113885873A
Authority
CN
China
Prior art keywords
openharmony
container
module
application
operating system
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
CN202111153503.9A
Other languages
English (en)
Other versions
CN113885873B (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.)
Institute of Software of CAS
Original Assignee
Institute of Software of CAS
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 Institute of Software of CAS filed Critical Institute of Software of CAS
Priority to CN202111153503.9A priority Critical patent/CN113885873B/zh
Publication of CN113885873A publication Critical patent/CN113885873A/zh
Application granted granted Critical
Publication of CN113885873B publication Critical patent/CN113885873B/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/40Transformation of program code
    • G06F8/41Compilation
    • G06F8/42Syntactic analysis
    • G06F8/427Parsing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/41Compilation
    • G06F8/43Checking; Contextual analysis
    • G06F8/433Dependency analysis; Data or control flow analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/71Version control; Configuration management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/4557Distribution of virtual machine instances; Migration and load balancing

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Stored Programmes (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本发明公开了一种轻量级OpenHarmony操作系统应用开发对象管理系统及其应用方法,包括Core核心模块,用以提供进行对象管理的核心工具;Bean模块,用以利用所述核心工具,基于对象配置文件获取对象实例;ApplicationContext模块,用以利用所述核心工具,将对象实例存储到对象容器中,并提供对象访问方法接口,以实现对象的解耦。本发明帮助OpenHarmony操作系统应用开发者从复杂的程序逻辑中分离出对象之间的依赖关系、管理对象的生命周期和作用域,让开发者把更多的精力聚焦于业务的实现,最终提高OpenHarmony应用程序开发的效率。

Description

轻量级OpenHarmony操作系统应用开发对象管理系统及其应 用方法
技术领域
本发明涉及OpenHarmony操作系统应用开发对象管理领域,具体是一种轻量级OpenHarmony操作系统应用开发对象管理系统及其应用方法。
背景技术
OpenHarmony操作系统是国内新一代智能终端操作系统,在未来拥有广阔的发展前景。随着OpenHarmony操作系统的普及和推广,与其相关的应用开发将实现爆炸式的增长。OpenHarmony操作系统应用的开发大多使用面向对象的语言,对于一个业务丰富的应用将会用到很多对象而且对象之间存在复杂的依赖关系。在应用的开发过程中,开发者面对庞大的应用对象及其复杂的依赖关系往往显得束手无策,需要花费大量的精力来管理对象和从复杂的程序逻辑中分离出对象之间的依赖关系,最终导致开发效率缓慢。
例如在一个OpenHarmony操作系统应用中,存在Test1类、Test2类、Test3类,三个类之间的依赖关系是,Test1类依赖Test2类在Test1类中持有Test2类的对象引用,并提供方法在实例化时注入应用对象。Test2类依赖Test3类在Test2类中持有Test3类的对象引用,并提供方法在实例化时注入应用对象。现有技术通常是OpenHarmony操作系统应用开发者在使用Test1对象实现业务功能时,需要先实例化Test3对象和Test2对象,然后调用实例注入方法将Test3对象注入Test2对象,再然后实例化Test1对象调用实例注入方法将Test2对象注入Test1对象,最后才能使用Test1对象实现具体的业务功能。
发明内容
为解决上述问题,本发明提供一种轻量级OpenHarmony操作系统应用开发对象管理系统及其应用方法,基于Core核心模块、Bean模块及ApplicationContext模块,帮助OpenHarmony操作系统应用开发者从复杂的程序逻辑中分离出对象之间的依赖关系,提高OpenHarmony应用程序开发的效率。
为实现上述目的,本发明提供如下技术方案。
一种轻量级OpenHarmony操作系统的应用开发对象管理系统,包括:
Core核心模块,用以提供进行对象管理的核心工具;
Bean模块,用以利用所述核心工具,基于对象配置文件获取对象实例;
ApplicationContext模块,用以利用所述核心工具,将对象实例存储到对象容器中,并提供对象访问方法接口,以实现对象的解耦。
进一步地,核心工具类包括:配置文件解析工具类、基于java反射机制的对象实例化工具类、基于java反射机制的对象依赖注入工具类、对象容器创建工具类和将对象注册到容器中工具类。
进一步地,通过以下步骤获取对象实例:
1)读取并解析用户在OpenHarmony应用工程指定目录下创建对象配置文件,并基于解析结果,初步实例化对象;
2)将对象依赖注入初步实例化的对象后,进行初始化,得到对象实例。
进一步地,所述Bean模块还用以进行对象实例在对象容器中销毁的管理。
进一步地,所述Bean模块还用以进行对象作用域管理。
进一步地,对象容器的选取方式包括:用户根据需求选择对象容器或用户根据需求定制对象容器。
一种轻量级OpenHarmony操作系统的应用开发对象管理系统的应用方法,其步骤包括:
1)在OpenHarmony操作系统应用工程中引入上述任一系统;
2)在指定目录下创建对象配置文件,其中对象配置文件中按照指定的格式配置实体类;
3)创建对象容器并初始化后,调用对象访问方法接口获取对象实例。
与现有技术相比,本发明的优势在于:
1)帮助OpenHarmony操作系统应用开发者从复杂的程序逻辑中分离出对象之间的依赖关系;
2)帮助OpenHarmony操作系统应用开发者管理对象的生命周期和作用域,让开发者把更多的精力聚焦于业务的实现,最终提高OpenHarmony应用程序开发的效率。
附图说明
图1为一种轻量级OpenHarmony操作系统应用开发对象管理系统简图。
图2为OpenHarmony操作系统应用开发者使用系统的过程。
具体实施方式
下面结合本发明实例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明的保护范围。
本发明的应用开发对象管理系统,如图1所示,整个系统由Core核心模块、Bean模块,ApplicationContext模块组成:
所述Core核心模块是整个轻量级OpenHarmony操作系统应用开发对象管理系统的基础模块,主要包含对象管理系统基本的核心工具类,其他模块功能的实现依赖于Core核心模块,其中核心工具类包括:配置文件解析工具类、基于java反射机制的对象实例化工具类、基于java反射机制的对象依赖注入工具类、对象容器创建工具类、将对象注册到容器中工具类等。
所述Bean模块是轻量级OpenHarmony操作系统应用开发对象管理系统的对象创建和管理模块,可以实现对象配置文件的读取、解析,对象的创建和生命周期、作用域的管理以及对象依赖关系的注入。
所述ApplicationContext模块构建于Core核心模块和Bean模块之上,为使用者提供整个系统的对象容器并且提供完善的对象访问方法接口,方便用户获取交给系统管理的对象。
作为本发明的进一步方案:为实现所述Bean模块对象的创建,需要用户在OpenHarmony应用工程指定目录下创建配置文件,将新建的类文件信息按照指定的格式配置到配置文件中。所述Bean模块读取用户新建的配置文件并进行解析,利用反射技术将配置文件中的类文件信息实例化对象,并将对象存储到系统的对象容器(ApplicationContext模块调用Core核心模块工具类构建)中方便用户在OpenHarmony应用开发过程中调用。所述对象的生命周期,是指:对象实例化→对象依赖注入→对象实例初始化→对象在容器中销毁的整个流程。所述Bean模块,进行对象整个生命周期的管理。所述对象的作用域,是指由Bean模块创建的对象相对于其他对象的可见范围。所述Bean模块一方面要提供多种作用域实现供用户选择,另一方面要提供作用域接口方便用户按照需求自己设计作用域实现。
作为本发明的进一步方案:所述ApplicationContext模块是整个系统的核心,为整个系统创建一种对象容器,但是这种对象容器并不唯一。所述ApplicationContext模块既要提供容器接口,也要提供多种容器接口的实现。用户一方面可以根据不同的需求选择不同的对象容器,另一方面也可以实现ApplicationContext模块提供的容器接口,根据自己的需求来定制对象容器。有了对象容器之后,用户就可以向对象容器中注册对象,从而实现帮助用户进行对象的管理。
下面结合具体实例对本发明进行介绍:
a)假设在一个OpenHarmony操作系统应用中,存在Test1类、Test2类、Test3类,三个类之间的依赖关系是,Test1类依赖Test2类在Test1类中持有Test2类的对象引用,并提供方法在实例化时注入应用对象。Test2类依赖Test3类在Test2类中持有Test3类的对象引用,并提供方法在实例化时注入应用对象。
b)在引入本发明提到的一种轻量级OpenHarmony操作系统应用开发对象管理系统的情况下,OpenHarmony操作系统应用开发者在使用Test1对象实现业务功能时,只需要将Test1类、Test2类、Test3类及其相互依赖关系在配置文件中配置,所述Bean模块实现对象配置文件的读取、解析,对象的创建和生命周期、作用域的管理以及对象依赖关系的注入。OpenHarmony操作系统应用开发者只需要通过ApplicationContext模块实例化容器,调用API接口获取Test1对象即可完成具体的业务功能。
通过上述描述可以发现,没有引入本发明提到的一种轻量级OpenHarmony操作系统应用开发对象管理系统,开发者需要写的代码量很大,而且这只是一个简单的对象依赖关系,真实的OpenHarmony操作系统应用之间的对象依赖关系是十分复杂的。
当OpenHarmony操作系统应用开发者使用系统时,如图2所示,其步骤如下:
S1:在:OpenHarmony操作系统应用工程中引入系统依赖;
S2:在应用工程指定目录下创建系统配置文件;
S3:在配置文件中,按照指定的格式配置应用中创建的实体类
S4:在应用工程中创建系统容器,初始化容器后即可调用API接口获取交由系统容器管理的对象,最终实现对象的解耦。
尽管参照前述实施例对本发明进行了详细的说明,对于本领域技术人员来说,其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。本发明专利需要对整个系统、实现代码以及架构思想和方法进行保护。

Claims (7)

1.一种轻量级OpenHarmony操作系统的应用开发对象管理系统,包括:
Core核心模块,用以提供进行对象管理的核心工具;
Bean模块,用以利用所述核心工具,基于对象配置文件获取对象实例;
ApplicationContext模块,用以利用所述核心工具,将对象实例存储到对象容器中,并提供对象访问方法接口,以实现对象的解耦。
2.如权利要求1所述的系统,其特征在于,核心工具类包括:配置文件解析工具类、基于java反射机制的对象实例化工具类、基于java反射机制的对象依赖注入工具类、对象容器创建工具类和将对象注册到容器中工具类。
3.如权利要求1所述的系统,其特征在于,通过以下步骤获取对象实例:
1)读取并解析用户在OpenHarmony应用工程指定目录下创建对象配置文件,并基于解析结果,初步实例化对象;
2)将对象依赖注入初步实例化的对象后,进行初始化,得到对象实例。
4.如权利要求1所述的系统,其特征在于,所述Bean模块还用以进行对象实例在对象容器中销毁的管理。
5.如权利要求1所述的系统,其特征在于,所述Bean模块还用以进行对象作用域管理。
6.如权利要求1所述的系统,其特征在于,对象容器的选取方式包括:用户根据需求选择对象容器或用户根据需求定制对象容器。
7.一种轻量级OpenHarmony操作系统的应用开发对象管理系统的应用方法,其步骤包括:
1)在OpenHarmony操作系统应用工程中引入权利要求1-6中任一系统;
2)在指定目录下创建对象配置文件,其中对象配置文件中按照指定的格式配置实体类;
3)创建对象容器并初始化后,调用对象访问方法接口获取对象实例。
CN202111153503.9A 2021-09-29 2021-09-29 轻量级OpenHarmony操作系统应用开发对象管理系统及其应用方法 Active CN113885873B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111153503.9A CN113885873B (zh) 2021-09-29 2021-09-29 轻量级OpenHarmony操作系统应用开发对象管理系统及其应用方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111153503.9A CN113885873B (zh) 2021-09-29 2021-09-29 轻量级OpenHarmony操作系统应用开发对象管理系统及其应用方法

Publications (2)

Publication Number Publication Date
CN113885873A true CN113885873A (zh) 2022-01-04
CN113885873B CN113885873B (zh) 2022-09-16

Family

ID=79008222

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111153503.9A Active CN113885873B (zh) 2021-09-29 2021-09-29 轻量级OpenHarmony操作系统应用开发对象管理系统及其应用方法

Country Status (1)

Country Link
CN (1) CN113885873B (zh)

Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100083219A1 (en) * 2008-10-01 2010-04-01 Microsoft Corporation Runtime Object Composition
CN102393817A (zh) * 2011-06-28 2012-03-28 浪潮集团山东通用软件有限公司 一种通过配置在运行时动态创建对象实例方法
CN106648647A (zh) * 2016-12-13 2017-05-10 北京中船信息科技有限公司 基于Spring依赖注入动态创建对象的综合管控系统
CN106775864A (zh) * 2016-12-13 2017-05-31 济南浪潮高新科技投资发展有限公司 一种基于Autofac支持按需加载的服务管理器的实现方法
CN106980470A (zh) * 2017-03-16 2017-07-25 武汉票据交易中心有限公司 一种轻量级容器的启动方法及系统
CN109766080A (zh) * 2019-01-22 2019-05-17 努比亚技术有限公司 微服务注册方法、装置、电子设备及可读存储介质
CN110221820A (zh) * 2019-04-23 2019-09-10 平安科技(深圳)有限公司 spring框架泛型依赖注入方法、装置及计算机设备、存储介质
CN111966756A (zh) * 2020-08-21 2020-11-20 西安寰宇卫星测控与数据应用有限公司 表格数据自动同步方法、装置、计算机设备、存储介质
CN111966690A (zh) * 2020-08-21 2020-11-20 西安寰宇卫星测控与数据应用有限公司 加载表格全量数据的方法、装置、计算机设备、存储介质
CN112035572A (zh) * 2020-08-21 2020-12-04 西安寰宇卫星测控与数据应用有限公司 创建表格实例的静态方法、装置、计算机设备、存储介质
CN113448853A (zh) * 2021-06-30 2021-09-28 东莞市大易产业链服务有限公司 单元测试方法、装置、测试设备及存储介质

Patent Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100083219A1 (en) * 2008-10-01 2010-04-01 Microsoft Corporation Runtime Object Composition
CN102393817A (zh) * 2011-06-28 2012-03-28 浪潮集团山东通用软件有限公司 一种通过配置在运行时动态创建对象实例方法
CN106648647A (zh) * 2016-12-13 2017-05-10 北京中船信息科技有限公司 基于Spring依赖注入动态创建对象的综合管控系统
CN106775864A (zh) * 2016-12-13 2017-05-31 济南浪潮高新科技投资发展有限公司 一种基于Autofac支持按需加载的服务管理器的实现方法
CN106980470A (zh) * 2017-03-16 2017-07-25 武汉票据交易中心有限公司 一种轻量级容器的启动方法及系统
CN109766080A (zh) * 2019-01-22 2019-05-17 努比亚技术有限公司 微服务注册方法、装置、电子设备及可读存储介质
CN110221820A (zh) * 2019-04-23 2019-09-10 平安科技(深圳)有限公司 spring框架泛型依赖注入方法、装置及计算机设备、存储介质
CN111966756A (zh) * 2020-08-21 2020-11-20 西安寰宇卫星测控与数据应用有限公司 表格数据自动同步方法、装置、计算机设备、存储介质
CN111966690A (zh) * 2020-08-21 2020-11-20 西安寰宇卫星测控与数据应用有限公司 加载表格全量数据的方法、装置、计算机设备、存储介质
CN112035572A (zh) * 2020-08-21 2020-12-04 西安寰宇卫星测控与数据应用有限公司 创建表格实例的静态方法、装置、计算机设备、存储介质
CN113448853A (zh) * 2021-06-30 2021-09-28 东莞市大易产业链服务有限公司 单元测试方法、装置、测试设备及存储介质

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
HAYATO KUMAGAI 等: "Synchronization Method for Improving Temporal Harmony of Music and Video Clips", 《2015 3RD INTERNATIONAL CONFERENCE ON APPLIED COMPUTING AND INFORMATION TECHNOLOGY/2ND INTERNATIONAL CONFERENCE ON COMPUTATIONAL SCIENCE AND INTELLIGENCE》 *
吴东宇: "基于工业物联网技术的产品全生命周期管理系统", 《中国优秀博硕士学位论文全文数据库(硕士)信息科技辑》 *

Also Published As

Publication number Publication date
CN113885873B (zh) 2022-09-16

Similar Documents

Publication Publication Date Title
FI109069B (fi) Ohjelmistorakenne tietoliikennekytkentäjärjestelmiä varten
Kang et al. FORM: A feature-; oriented reuse method with domain-; specific reference architectures
US6023579A (en) Computer-implemented method for generating distributed object interfaces from metadata
US20050246685A1 (en) Object oriented ADN and method of converting a non-object oriented computer language to an object oriented computer language
CN102541996B (zh) 一种基于jdbc的数据访问层构建方法及装置
Damm et al. A discrete-time UML semantics for concurrency and communication in safety-critical applications
CN109960709B (zh) 一种数据库驱动的处理方法、装置、设备及存储介质
Qiao et al. Telecommunications service domain ontology: semantic interoperation foundation of intelligent integrated services
Broy et al. Considerations and Rationale for a UML System Model
CN113542390B (zh) 一种采用内存数据模型的物联网设备管理方法及系统
Konstantas Interoperation of object-oriented applications
CN113885873B (zh) 轻量级OpenHarmony操作系统应用开发对象管理系统及其应用方法
Schattkowsky et al. Model-based design of embedded systems
Wolczko Semantics of object-oriented languages
CN110874213B (zh) 一种静态强类型语言的运行时类型扩展与反射方法
Johnston et al. Guidelines for the manual conversion of Object-Z to C++
CN114416202B (zh) 一种移动端sdk调用方法及系统
CN110457013A (zh) 程序组件配置装置及方法
Crane et al. Towards a formal account of a foundational subset for executable UML models
US20070214419A1 (en) Integrated service creation and execution platforms for the converged networks
CN111679820A (zh) 一种Android模块化开发与快速模块集成的方法
CN114168110B (zh) 轻量级鸿蒙操作系统的应用开发事务管理系统及方法
Truyen et al. On interaction refinement in middleware
Sinnott Frameworks: the future of formal software development?
CN112416544B (zh) 一种5g移动终端应用跳转的方法和存储设备

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