CN113885873B - 轻量级OpenHarmony操作系统应用开发对象管理系统及其应用方法 - Google Patents
轻量级OpenHarmony操作系统应用开发对象管理系统及其应用方法 Download PDFInfo
- Publication number
- CN113885873B CN113885873B CN202111153503.9A CN202111153503A CN113885873B CN 113885873 B CN113885873 B CN 113885873B CN 202111153503 A CN202111153503 A CN 202111153503A CN 113885873 B CN113885873 B CN 113885873B
- Authority
- CN
- China
- Prior art keywords
- container
- openharmony
- class
- module
- application
- 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.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/41—Compilation
- G06F8/42—Syntactic analysis
- G06F8/427—Parsing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/41—Compilation
- G06F8/43—Checking; Contextual analysis
- G06F8/433—Dependency analysis; Data or control flow analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
- G06F8/71—Version control; Configuration management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/4557—Distribution 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操作系统应用中,存在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 (4)
1.一种轻量级OpenHarmony操作系统的应用开发对象管理系统,其特征在于,包括:
Core核心模块,用以提供进行对象管理的核心工具,所述核心工具类包括:配置文件解析工具类、基于反射机制的对象实例化工具类、基于反射机制的对象依赖注入工具类、对象容器创建工具类和将对象注册到容器中工具类;
Bean模块,用以利用所述配置文件解析工具类对配置文件进行解析,利用所述对象实例化工具类将所述配置文件中的类文件信息实例化为具有作用域的对象实例,利用所述对象依赖注入工具类注入对象之间的依赖关系,利用所述将对象注册到容器中工具类将包含依赖关系的对象实例注册到对象容器中;其中,所述作用域是指由Bean模块创建的对象相对于其他对象的可见范围;
ApplicationContext模块,用以利用所述对象容器创建工具类创建对象容器,并提供对象访问方法接口,以实现对象的解耦。
2.如权利要求1所述的系统,其特征在于,所述Bean模块还用以进行对象实例在对象容器中销毁的管理。
3.如权利要求1所述的系统,其特征在于,对象容器的选取方式包括:用户根据需求选择对象容器或用户根据需求定制对象容器。
4.一种轻量级OpenHarmony操作系统的应用开发对象管理系统的应用方法,其步骤包括:
1)在OpenHarmony操作系统应用工程中引入权利要求1-3中任一所述系统;
2)在指定目录下创建对象配置文件,其中对象配置文件中按照指定的格式配置实体类;
3)创建对象容器并初始化后,调用对象访问方法接口获取对象实例。
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 CN113885873A (zh) | 2022-01-04 |
CN113885873B true 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) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114706767A (zh) * | 2022-03-24 | 2022-07-05 | 网易(杭州)网络有限公司 | 一种代码覆盖率采集方法、装置及设备 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
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支持按需加载的服务管理器的实现方法 |
CN109766080A (zh) * | 2019-01-22 | 2019-05-17 | 努比亚技术有限公司 | 微服务注册方法、装置、电子设备及可读存储介质 |
CN110221820A (zh) * | 2019-04-23 | 2019-09-10 | 平安科技(深圳)有限公司 | spring框架泛型依赖注入方法、装置及计算机设备、存储介质 |
CN112035572A (zh) * | 2020-08-21 | 2020-12-04 | 西安寰宇卫星测控与数据应用有限公司 | 创建表格实例的静态方法、装置、计算机设备、存储介质 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100083219A1 (en) * | 2008-10-01 | 2010-04-01 | Microsoft Corporation | Runtime Object Composition |
CN106980470B (zh) * | 2017-03-16 | 2019-12-31 | 武汉票据交易中心有限公司 | 一种轻量级容器的启动方法及系统 |
CN111966756B (zh) * | 2020-08-21 | 2024-03-12 | 西安寰宇卫星测控与数据应用有限公司 | 表格数据自动同步方法、装置、计算机设备、存储介质 |
CN111966690A (zh) * | 2020-08-21 | 2020-11-20 | 西安寰宇卫星测控与数据应用有限公司 | 加载表格全量数据的方法、装置、计算机设备、存储介质 |
-
2021
- 2021-09-29 CN CN202111153503.9A patent/CN113885873B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
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支持按需加载的服务管理器的实现方法 |
CN109766080A (zh) * | 2019-01-22 | 2019-05-17 | 努比亚技术有限公司 | 微服务注册方法、装置、电子设备及可读存储介质 |
CN110221820A (zh) * | 2019-04-23 | 2019-09-10 | 平安科技(深圳)有限公司 | spring框架泛型依赖注入方法、装置及计算机设备、存储介质 |
CN112035572A (zh) * | 2020-08-21 | 2020-12-04 | 西安寰宇卫星测控与数据应用有限公司 | 创建表格实例的静态方法、装置、计算机设备、存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN113885873A (zh) | 2022-01-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
FI109069B (fi) | Ohjelmistorakenne tietoliikennekytkentäjärjestelmiä varten | |
US6023579A (en) | Computer-implemented method for generating distributed object interfaces from metadata | |
Kang et al. | FORM: A feature-; oriented reuse method with domain-; specific reference architectures | |
US7047524B1 (en) | Object oriented ADN and method of converting a non-object oriented computer language to an object oriented computer language | |
Övergaard et al. | A formal approach to use cases and their relationships | |
JPH07202979A (ja) | 電気通信システムインタフェース | |
CN102541996B (zh) | 一种基于jdbc的数据访问层构建方法及装置 | |
Damm et al. | A discrete-time UML semantics for concurrency and communication in safety-critical applications | |
US6697819B2 (en) | Reusable database access component | |
CN113885873B (zh) | 轻量级OpenHarmony操作系统应用开发对象管理系统及其应用方法 | |
EP0619544A2 (en) | Object system with derived metaclasses | |
CN110874213B (zh) | 一种静态强类型语言的运行时类型扩展与反射方法 | |
CN112035090A (zh) | 基于容器化技术实现智能合约智慧化管理系统及方法 | |
CN109960709B (zh) | 一种数据库驱动的处理方法、装置、设备及存储介质 | |
Broy et al. | Considerations and Rationale for a UML System Model | |
Schattkowsky et al. | Model-based design of embedded systems | |
Konstantas | Interoperation of object-oriented applications | |
CN114416202B (zh) | 一种移动端sdk调用方法及系统 | |
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? | |
Gibson et al. | Always and eventually in object requirements |
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 |