Application system for application development and application running method
By dividing the application framework into a business layer and an interface layer, and assigning controllers to each layer, the code redundancy and maintenance problems are solved, and the business and interface are decoupled, reducing code redundancy and simplifying the maintenance process.
Patent Information
- Application Number
- CN202510706423.3
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-05-29
- Publication Date
- 2025-09-05
AI Technical Summary
There are problems in existing application frameworks with high code redundancy and difficult to maintain, especially when the business logic and interface logic are not decoupled, resulting in large repetitions of code and difficulty in maintaining.
The multi-tasking application framework that hierarchically matches the controller is adopted, and the application framework is divided into a business layer and an interface layer, and the corresponding controller is allocated to each layer to achieve complete decoupling of the business and interface. The respective logic is processed through the business controller and the interface controller, reducing code redundancy, and ensuring the efficient data synchronization and delivery through multi-threaded management and multiple data storage methods.
It achieves a significant reduction in code redundancy and a reduction in code maintenance difficulty, and does not affect the other party when modifying the interface or business logic, improving the efficiency and quality of application development.
Smart Images

Figure CN120596065A_ABST
Abstract
Description
Technical Field
[0001] The embodiments of the present invention relate to the field of development technology, and in particular to an application system and an application running method for application development. Background Art
[0002] As operating system-related technologies mature, application frameworks for application development have become increasingly popular, with various application frameworks available on the market. These application frameworks can also be referred to as application systems.
[0003] It's important to note that choosing an application framework is crucial when developing an app, as it directly impacts the quality of the app. Practical experience has shown that using the various application frameworks currently available on the market can lead to high code redundancy and difficulty maintaining the code, issues that urgently need to be addressed. Summary of the Invention
[0004] The embodiments of the present invention provide an application system and an application running method for application development, which solve the problems of high code redundancy and difficult code maintenance in the application development process.
[0005] According to one aspect of the present invention, an application system for application development is provided, which may include: a business layer and an interface layer, and a business controller assigned to the business layer and an interface controller assigned to the interface layer; wherein,
[0006] Business controller, used to control the execution logic related to the business layer;
[0007] The interface controller is used to control the execution logic related to the interface layer.
[0008] According to another aspect of the present invention, an application running method is provided, which can be applied to a target application. The target application is developed based on the above-mentioned application system, and the target application includes at least a first service. The method may include:
[0009] receiving, through a service layer in the application system, a first service request corresponding to the first service, and initiating the first service based on the first service request;
[0010] Executing the first service according to the execution logic of the first service through the service controller in the application system, and initiating a result display request based on the execution result of the first service;
[0011] Receive result display requests through the interface layer in the application system;
[0012] The execution result corresponding to the result display request is displayed on the second interface corresponding to the result display request through the interface controller in the application system.
[0013] According to another aspect of the present invention, there is provided an electronic device, which may include:
[0014] at least one processor; and
[0015] a memory communicatively connected to at least one processor; wherein,
[0016] The memory stores a computer program that can be executed by at least one processor. The computer program is executed by the at least one processor so that the at least one processor implements the application running method provided by any embodiment of the present invention when executing the computer program.
[0017] According to another aspect of the present invention, a computer-readable storage medium is provided, on which computer instructions are stored. The computer instructions are used to enable a processor to implement the application running method provided by any embodiment of the present invention when executed.
[0018] According to another aspect of the present invention, a computer program product is provided, on which a computer program is stored. When the computer program is executed by a processor, the application running method provided by any embodiment of the present invention is implemented.
[0019] The application framework described in the embodiment of the present invention includes: a business layer and an interface layer, as well as a business controller assigned to the business layer and an interface controller assigned to the interface layer; wherein the business controller is used to control the execution logic related to the business layer; the interface controller is used to control the execution logic related to the interface layer. The above technical solution divides the application framework into a business layer and an interface layer in a layered manner, and separately assigns controllers to the business layer and the interface layer. Therefore, after the business and interface are initiated, they can be directly handed over to the corresponding controller for processing without paying attention to the subsequent process, that is, the business does not need to pay attention to the interface, and the interface does not need to pay attention to the business. This achieves complete decoupling of the business and the interface, so that application developers do not need to write a large amount of repeated code when using the application framework for application development, achieving a significant reduction in code redundancy, and modifying the interface code will not affect the business code, and modifying the business code will not affect the interface code, achieving a significant reduction in the difficulty of code maintenance.
[0020] It should be understood that the content described in this section is not intended to identify the key or important features of the embodiments of the present invention, nor is it intended to limit the scope of the present invention. Other features of the present invention will become readily understood through the following description. BRIEF DESCRIPTION OF THE DRAWINGS
[0021] In order to more clearly illustrate the technical solutions in the embodiments of the present invention, the following briefly introduces the drawings required for use in the description of the embodiments. Obviously, the drawings described below are only some embodiments of the present invention. For ordinary technicians in this field, other drawings can be obtained based on these drawings without creative work.
[0022] Figure 1 It is a schematic diagram of the Activity life cycle;
[0023] Figure 2 It is the structural diagram of the application framework ASE;
[0024] Figure 3 It is a structural block diagram of a multi-task application framework of a hierarchical matching controller;
[0025] Figure 4 is a structural block diagram of an application system provided according to an embodiment of the present invention;
[0026] Figure 5 This is a structural block diagram of a data layer in an application system provided according to an embodiment of the present invention;
[0027] Figure 6 is a structural block diagram of another application system provided according to an embodiment of the present invention;
[0028] Figure 7 This is a structural block diagram of another application system provided according to an embodiment of the present invention;
[0029] Figure 8 is a schematic diagram of service details in another application system provided according to an embodiment of the present invention;
[0030] Figure 9 is a flowchart of an application running method provided according to an embodiment of the present invention;
[0031] Figure 10 is a structural block diagram of an application running device provided according to an embodiment of the present invention;
[0032] Figure 11 It is a structural diagram of an electronic device that implements the application running method according to an embodiment of the present invention. DETAILED DESCRIPTION
[0033] In order to enable those skilled in the art to better understand the solutions of the present invention, the technical solutions in the embodiments of the present invention will be clearly and completely described below in conjunction with the drawings in the embodiments of the present invention. Obviously, the embodiments described are only part of the embodiments of the present invention, not all of the embodiments. Based on the embodiments of the present invention, all other embodiments obtained by ordinary technicians in this field without making creative efforts should fall within the scope of protection of the present invention.
[0034] It should be noted that the terms "first", "second", etc. in the description and claims of the present invention and the above-mentioned drawings are used to distinguish similar objects, and are not necessarily used to describe a specific order or sequence. It should be understood that the data used in this way can be interchangeable where appropriate, so that the embodiments of the present invention described herein can be implemented in an order other than those illustrated or described herein. The situations of "target", "original", etc. are similar and will not be repeated here. In addition, the terms "including" and "having" and any variations thereof are intended to cover non-exclusive inclusions, for example, a process, method, system, product or device that includes a series of steps or units is not necessarily limited to those steps or units clearly listed, but may include other steps or units that are not clearly listed or inherent to these processes, methods, products or devices.
[0035] Before introducing the embodiments of the present invention, the relevant solutions and their existing technical problems, as well as the basic knowledge of application development are first exemplified to better understand how the application system (i.e., application framework) proposed in the embodiments of the present invention is designed and how to solve technical problems.
[0036] First, let's discuss the basics of Android application development. Java is the primary programming language used for Android application development. Android applications typically consist of four major components: Activity, Content Provider, Service, and Intent. An Activity is equivalent to a dialog window in a Windows application or a web page window in a network application. Content Provider provides data storage for multiple applications. Services run at the bottom layer of the application and are designed to be independent of Activities and run in the background. Intents are a runtime binding mechanism used to describe what a program wants to do and how to jump from one Activity to another.
[0037] For Activity, it is a visual interface for user operations, which provides a window for users to complete operation instructions. For example, see Figure 1, after the Activity is created, you need to call the setContentView() method to complete the display of the interface; this serves as an entry point for users to interact. In Android applications, almost everything that can be seen relies on the Activity. An Activity stack is maintained in the Activity. When a new Activity is created, it is placed on the top of the stack, and the Activity is in a running state. When a new Activity is created, it is pushed back to the top of the stack, and the previous Activity is under this new Activity. The Activity class provides six core callbacks: create onCreate(), start onStart(), resume onResume(), temporarily onPause(), stop onStop(), and destroy onDestory(). When the Activity enters a new state, the system calls each of these callbacks.
[0038] Next, let's discuss frameworks (i.e., application frameworks) and design patterns. An application framework can be understood as a set of cooperating classes that form a reusable design for a specific type of application (i.e., software). It specifies the application's architecture, defining the overall structure, the division between classes and objects, the primary responsibilities of each component, how classes and objects collaborate, and the control flow. The application framework predefines these design parameters.
[0039] As explained above, the choice of application framework when developing an app directly impacts its quality. An app essentially consists of a user interface and business logic. Ensuring the efficiency of these two functions lies at the heart of the application framework. Common Android application frameworks currently on the market include MVC and ASE.
[0040] Specifically, in MVC, M stands for Model, C for Controller, and V for View. The controller accepts user input and calls the model and view to fulfill the user's needs. It simply receives requests, decides which model component to call to process the request, and then determines which view to use to display the returned data. The model provides the data. The view is responsible for displaying the interface. The business layer includes the model and controller. The view directly accesses the model, and the view contains some business logic. Therefore, the interface and business logic are not completely decoupled, resulting in high code redundancy (i.e., large amounts of code duplication) and difficult code maintenance (for example, code changes in the interface will affect code changes in the business logic).
[0041] In the application framework ASE, ASE divides the application into multiple functional modules, each of which corresponds to a business. For example, see Figure 2, MainActivity provides an entry point for all businesses and can be used to receive business requests. A complete business process in ASE is usually completed by multiple interfaces (Activity) plus a business controller (ActivityController). The business controller (ActivityController) determines the specific business logic, including when to display the interface, how to make network requests, and when to initiate threads. Different businesses can share classes such as interfaces and network requests to reduce code redundancy. All interface Activities must inherit the base class of Activiy provided by ASE and override related methods to implement the life cycle of the interface. The display of the interface is controlled by the business controller. At any step, the Activity does not know what the next interface is, nor does it need to know. Data transfer between interfaces is done through the intent of startActivity. The businesses in ASE will not call each other. Each business has its own business controller, and the entire business process is completed through the business controller.
[0042] The carrier for running time-consuming tasks is transparent to application developers, and there is basically no need to worry about its existence during development. Time-consuming tasks simplify the implementation of the Activity by calling the member methods of the ActivityController on the Activity. Doing so allows content closely related to the business to be moved to the ActivityController, making the Activity's tasks more focused on the user experience. Time-consuming tasks can also be handled safely. ASE can be used to handle complex businesses in a multi-threaded model, coexist with ordinary single-threaded Activities, and can also be used to build a cross-application process processing solution and process projects concurrently with a detailed division of labor.
[0043] In addition, ASE provides ASESharedPreferences based on SharedPreferences to achieve data synchronization between multiple processes.
[0044] However, practice has revealed that ASE has at least the following technical problems:
[0045] 1) The business (i.e., business logic) and the interface are not decoupled, resulting in high code redundancy (i.e., large amounts of code duplication) and difficult code maintenance.
[0046] 2) Each business corresponds to a business controller, but much of the content is repeated, which further causes high code redundancy.
[0047] 3) ASE has two processes, and data synchronization between the two processes is prone to problems. Although ASE provides ProviderDatabase and ASESharedPreferences to solve the data synchronization problem between multiple processes, some flaws still remain.
[0048] 4) In ASE, data is transferred between activities using intents. This method not only requires all parameters to be passed each time, which can easily lead to parameter omissions due to the large number of parameters, but also requires the data to be transferred sequentially from Activity A -> Activity B -> Activity C, making data transfer too complicated.
[0049] On this basis, in order to solve the technical problems existing in related application frameworks, the embodiment of the present invention exemplarily proposes a multi-task application framework of a hierarchical matching controller.
[0050] For example, see Figure 3 , the above application framework is divided into four modules (i.e., four layers), including a business receiver, an interface layer, a business layer, and a network layer, and each module is assigned a controller, which is responsible for the execution logic of each module, which may include adding, starting, restarting, and ending the module. Specifically, the four controllers are the business receiver controller, the business controller, the interface controller, and the network controller. Among them, the business receiver is responsible for receiving business requests that cannot be controlled autonomously (i.e., the initiation time is uncontrollable); the interface is used to display application information and receive user operations; the business layer mainly implements various functional modules; the network layer is responsible for network requests; and the data layer is responsible for storing data for program operation and interface display. In addition, different forms of threads can be used to subscribe to the objects of each controller and handle thread callbacks to process the logic of the controller. By dividing the application framework into different modules, complete decoupling of business logic, data, and interface is achieved.
[0051] In other words, the above application framework achieves a high degree of decoupling between the business and user interface. The business does not need to worry about how the user interface controls are drawn, and the user interface does not need to be concerned with the implementation details of the business logic. The business logic is isolated, and the business is only responsible for logic processing and data collection, which can be reused by multiple interfaces. The interface does not involve business logic; the interface is only responsible for displaying controls and data, and the interface is also reusable. When the interface presentation needs to change, only the interface needs to be modified without affecting the business logic. When the business logic needs to change, only the Java program needs to be modified without affecting the interface. Decoupling between functional modules achieves strong cohesion and weak coupling.
[0052] Furthermore, the application framework divides functional modules into business modules, further subdividing business modules into activities. Multiple activities form a business, enabling the reuse of activity code, increasing code reuse, and reducing code redundancy. Activities are divided into interface activities and network activities, decoupling network requests from the interface. Furthermore, the application framework implements unified thread management, effectively utilizing multiple threads and efficiently executing multiple tasks.
[0053] Furthermore, during the execution of the application framework, module objects are continuously generated. For example, multiple interface objects may be generated during execution. These objects are stored and managed using a Map, where each object is stored using a key-value pair. Maps are used to perform operations such as inserting, deleting, and searching objects, allowing for quick access to the required objects. A Map is a data structure that stores an ordered list of key-value pairs.
[0054] Next, the application framework of the above example will be explained in layers.
[0055] Figure 4 This is a structural diagram of an application system for application development provided by an embodiment of the present invention. This embodiment is applicable to the case where such an application framework is constructed and then used for application development.
[0056] See also Figure 4 The application system for application development according to the embodiment of the present invention may include: a business layer 10 and an interface layer 20, as well as a business controller 11 assigned to the business layer 10 and an interface controller 21 assigned to the interface layer 20; wherein,
[0057] The service controller 11 is used to control the execution logic related to the service layer 10;
[0058] The interface controller 21 is used to control the execution logic related to the interface layer 20 .
[0059] The business layer 10 is primarily responsible for implementing each functional module. The business controller 11 is a controller assigned to the business layer 10 and is primarily responsible for controlling the execution logic associated with the business layer 10, such as adding, starting, restarting, and ending operations.
[0060] On this basis, combined with the application scenarios that may be involved in the embodiments of the present invention, for example, a service can be initiated by a service receiver or by a service. The execution logic of the service itself and the relationship between services are controlled by the service controller 11, which can be responsible for the addition, next, completion, failure, and cancellation of services. For example, the services mainly have the following processes:
[0061] a) New service: When a new service is initiated, the service controller 11 determines whether the service is a non-repeatable service and already exists, and restarts the service; if the service is started for the first time, a new service is created.
[0062] b) Executing the next service: When initiating the execution of the next service, the service controller 11 checks whether there are any unfinished services in the Map. If so, the execution continues; otherwise, the process exits.
[0063] c) Service Completion: When a service is initiated, the service controller 11 determines whether it was initiated by service A or a service receiver. If it was initiated by the service receiver, the service receiver controller completes the service. If it was initiated by service A and has not yet completed, the tag at the time of initiation determines whether service A is restarted or completed. If service A has completed, the map is checked to see if there are any other unfinished services.
[0064] d) Service Failure: First, cancel all services initiated by the service. Then determine whether the service was initiated by the service receiver or service A. If it was initiated by the service receiver, the service receiving controller terminates the service. If it was initiated by service A and has not yet completed, the tag at the time of initiation determines whether service A is restarted or failed. If service A has completed, check the map for other unfinished services.
[0065] e) Service Cancellation: First, cancel all services initiated by the service. Then, determine whether the service was initiated by the service receiver or service A. If it was initiated by the service receiver, the service receiving controller terminates the service. If it was initiated by service A and has not yet completed, the tag at the time of initiation determines whether service A is restarted or canceled. If service A has completed, check the map for any other unfinished services.
[0066] The interface layer 20 can be used to display application information and receive user operations. The interface controller 21 can be understood as a controller assigned to the interface layer 20, which can be mainly responsible for controlling the execution logic related to the interface layer 20, such as adding, starting, restarting and ending.
[0067] On this basis, an interactive process can exist between the business layer 10 and the interface layer 20. For example, the business layer 10 receives a first business request corresponding to a first business and initiates the first business based on the first business request. Furthermore, the business controller 11 assigned to the business layer 10 executes the first business according to the execution logic of the first business and initiates a result display request based on the execution result of the first business. Consequently, the interface layer 20 receives the result display request and displays the execution result corresponding to the result display request on the second interface corresponding to the result display request via the interface controller 21 assigned to the interface layer 20.
[0068] The application framework described in the embodiment of the present invention includes: a business layer and an interface layer, as well as a business controller assigned to the business layer and an interface controller assigned to the interface layer; wherein the business controller is used to control the execution logic related to the business layer; the interface controller is used to control the execution logic related to the interface layer. The above technical solution divides the application framework into a business layer and an interface layer in a layered manner, and separately assigns controllers to the business layer and the interface layer. Therefore, after the business and interface are initiated, they can be directly handed over to the corresponding controller for processing without paying attention to the subsequent process, that is, the business does not need to pay attention to the interface, and the interface does not need to pay attention to the business. This achieves complete decoupling of the business and the interface, so that application developers do not need to write a large amount of repeated code when using the application framework for application development, achieving a significant reduction in code redundancy, and modifying the interface code will not affect the business code, and modifying the business code will not affect the interface code, achieving a significant reduction in the difficulty of code maintenance.
[0069] An optional technical solution is that the above application system further includes:
[0070] A service receiver and a service receiving controller assigned to the service receiver; wherein,
[0071] A service receiving controller, used to control the execution logic related to the service receiver;
[0072] Among them, the first business request processed by the business layer is a business request with controllable initiation time;
[0073] The second service request processed by the service receiver is a service request with uncontrollable initiation time.
[0074] Compared with the service layer responsible for processing the first service request with controllable initiation time, the service receiver is mainly responsible for processing the second service request with uncontrollable initiation time (ie, cannot be controlled autonomously).
[0075] The service receiving controller can be understood as a controller assigned to a service receiver, which is mainly responsible for controlling the execution logic related to the service receiver, such as adding, starting, restarting and ending.
[0076] Exemplarily, for a target application developed based on the above-mentioned application framework, the inability to autonomously control may be the inability to control when the user opens the target application, when the service starts, or when a third-party application calls the target application through AIDL, etc. Such business requests (i.e., second business requests) can be uniformly received by the business receiver, and after the second business corresponding to the second business request ends, the business receiver will uniformly exit. The business receiving controller can control the registration and deregistration of the business receiver, as well as the completion, cancellation and failure of the second business. By registering in Activity, Service, AIDL, etc., and initiating the second business after successful registration, the connection between the external request and the business is realized. When the business receiver exits, the business receiver is deregistered. The completion of the second business has its own execution logic. The above-mentioned AIDL is a description language that defines the communication interface between the server and the user, and is mainly used to implement inter-process communication in the operating system.
[0077] The above technical solution, in the application framework, sets up a business receiver based on the business layer and separately assigns a business receiving controller to it. This allows application developers to no longer need to worry about how to respond to various business requests when developing applications based on the application framework, thereby reducing the development workload.
[0078] Another optional technical solution is that the above application system further includes:
[0079] The network layer and the network controller assigned to the network layer;
[0080] Among them, the business layer is used to initiate a singleton thread so that the business controller runs in the singleton thread, and the network layer is used to initiate a new thread so that the network controller runs in the new thread;
[0081] Among them, the interface controller runs in the main thread, and the singleton thread, new thread and main thread are all managed by one class.
[0082] Among them, the network layer may be responsible for responding to network requests. The network controller assigned to the network layer may be mainly responsible for controlling the execution logic related to the network layer, such as adding, starting, restarting and ending. On this basis, for example, during the execution of a business, there is a situation where a network request needs to be initiated. The execution logic of the network request may be the responsibility of the network controller, which manages the start, end, completion, cancellation and failure of the network request. After the network request is completed, the network stop service and the network completion service may be initiated. In actual applications, an ID is needed to know who initiated the network request, so that when the network request is responded to, feedback can be given to the business that initiated the network request.
[0083] Furthermore, as explained above, related application frameworks often have issues with data synchronization, complex data transfer, and parameter omissions, all of which are related to their use of processes. Accordingly, this technical solution uses threads, which are the smallest unit of computation within an operating system.
[0084] Specifically, each controller has different thread managements according to needs. The interface controller controls the display and refresh of the interface, etc., so it needs to run in the main thread. The business controller controls the business execution process. In order to prevent business confusion, a singleton thread is used, which can be initiated by the business layer. The business reception controller controls the reception of business and can receive multiple business requests at the same time, so a new thread is used. The network controller controls network requests and can respond to multiple network requests at the same time, so a new thread is used, which can be initiated by the network layer. By managing multiple threads, multitasking can be achieved efficiently. It should be noted that all threads are uniformly managed through one class. The execution process of business, interface, network and business receivers is only responsible for initiating threads and handling thread callbacks in the controller.
[0085] The above technical solution further realizes the decoupling between modules by creating a separate thread for each module, thereby reducing the mutual application between modules; moreover, unified management of multiple threads facilitates data synchronization and ensures the accuracy of data synchronization; secondly, it avoids the code being full of thread startup code, resulting in a high code repetition rate; thirdly, it is easy to manage threads, which can avoid the situation where a thread is initiated but the execution result of the thread is forgotten to be received, thereby causing the code to crash.
[0086] In another optional technical solution, the application system further includes: a data layer; wherein the data layer is used to store data based on at least one of the following three methods:
[0087] Storing runtime data through caching;
[0088] Storing data based on key-value pairs through SharedPreferences; and
[0089] Use SQLiteDatabase to store data of the same type and with a data volume greater than the preset data volume.
[0090] By establishing a data layer within the application framework, we achieve complete separation of business logic and data. Furthermore, three types of data storage are used across modules to effectively synchronize data between them. This reduces the complexity of multiple data transfers between activities and eliminates data synchronization difficulties.
[0091] For example, see Figure 5, stored in at least one of the three types of data storage: Cache, SharedPreferences, and SQLiteDatabase. Specifically,
[0092] Cache stores runtime data, which can be understood as data saved by the application during runtime and that needs to be accessed in real time. Static variables are stored in the JVM's method area. Declaring methods accessing static variables as synchronized ensures that only one thread can access them at a time, thus achieving data synchronization.
[0093] SharedPreferences is used to store data represented by key-value pairs, especially data represented by key-value pairs with a small amount of data, which does not need to be obtained in real time. Among them, SharedPreferences is the storage that comes with the Android operating system, which solves the problem of data asynchrony or omission caused by multiple transmissions between multiple Activities due to the way data is passed through parameters. It performs disk writes in the main thread or the calling thread, blocks the current thread until the write is completed, and implements immediate persistence of data to the disk, so that the data is the latest when other threads read the disk. For example, use SharedPreferences to store data, the business logic obtains the data, and stores it in SharedPreferences, and then the interface obtains the data from SharedPreferences and displays or refreshes the interface.
[0094] SQLiteDatabase is used to store data of the same type and with a data volume greater than the preset data volume (i.e., large data volume). This data does not need to be obtained in real time. Database transactions are used here to ensure data synchronization.
[0095] The above technical solution uses multiple types of data storage methods to store data, effectively completing data synchronization between modules and alleviating the complexity of multiple data transfers between Activities.
[0096] Figure 6 This is a structural block diagram of another application system for application development provided by an embodiment of the present invention. This embodiment is optimized based on the above-mentioned technical solutions. In this embodiment, optionally, the business layer is used to receive a first business request and initiate a first business based on the first business request, wherein the target application developed based on the application system includes at least the first business; and the business controller is specifically used to execute the first business according to the execution logic of the first business. The explanations of the terms that are the same as or corresponding to the above-mentioned embodiments are not repeated here.
[0097] For details, see Figure 6 The application system for application development described in this embodiment includes: a business layer 10 and an interface layer 20, as well as a business controller 11 assigned to the business layer 10 and an interface controller 21 assigned to the interface layer 20; wherein,
[0098] The business layer 10 is configured to receive a first business request and initiate a first business based on the first business request, wherein the target application developed based on the application system includes at least the first business;
[0099] The service controller 11 is configured to execute the first service according to the execution logic of the first service;
[0100] The interface controller 21 is used to control the execution logic related to the interface layer 20 .
[0101] The term "first service request" may be understood as a request for initiating a first service, which may be initiated by a user or an already initiated service. A target application developed based on the aforementioned application framework may include multiple services, with the first service being one of these services, such as a balance inquiry service, a fund purchase service, or a transfer service. The aforementioned content is subject to practical circumstances and is not specifically limited herein. The execution logic of the first service may represent a series of operations required to complete the first service, i.e., the processing logic.
[0102] Through the business layer 10, the first business request is received, and the first business is initiated based on the first business request; further, because the business controller 11 is a controller pre-assigned to the business layer 10, after the business layer 10 initiates the first business, the business controller 11 can directly obtain the first business, and execute the first business according to its execution logic to complete the first business.
[0103] The technical solution of the embodiment of the present invention is to initiate the first business by responding to the first business request through the business layer, and then execute the first business according to the execution logic of the first business through the business controller. The mutual cooperation between the business layer and the business controller ensures the smooth execution of the first business.
[0104] Figure 7It is another structural block diagram of an application system for application development provided by an embodiment of the present invention. This embodiment is optimized based on the above-mentioned technical solutions. In this embodiment, optionally, the first business includes multiple activities, and the execution logic of the first business is represented by the flow sequence of each activity and the execution logic corresponding to each activity; wherein, the business controller is specifically used to flow multiple activities according to the flow sequence, and when flowing to any activity in each activity, executes the flowed activity according to the execution logic of the flowed activity to realize the execution process of the first business. Among them, the explanations of the terms that are the same or corresponding to the above-mentioned embodiments are not repeated here.
[0105] For details, see Figure 7 The application system for application development described in this embodiment includes: a business layer 10 and an interface layer 20, as well as a business controller 11 assigned to the business layer 10 and an interface controller 21 assigned to the interface layer 20; wherein,
[0106] The business layer 10 is configured to receive a first business request and initiate a first business based on the first business request. The target application developed based on the application system includes at least the first business, which includes multiple activities. The execution logic of the first business is represented by the flow sequence of each activity and the execution logic corresponding to each activity.
[0107] The service controller 11 is configured to transfer multiple activities in a transfer order, and when transferring to any one of the multiple activities, execute the transferred activity according to the execution logic of the transferred activity, so as to implement the execution process of the first service;
[0108] The interface controller 21 is used to control the execution logic related to the interface layer 20 .
[0109] As explained above, the target application developed based on the above application framework includes multiple businesses, each of which includes multiple activities. Optionally, an activity can be repeatedly called in multiple businesses. For example, if both a polling business and an initialization business require a task to be executed, the task can be used as an activity in both businesses, further reducing code redundancy. In actual applications, in addition to businesses (i.e., business logic), interfaces and network requests can also exist as activities, further reducing code redundancy and resulting in high-quality code.
[0110] On this basis, combined with the embodiments of the present invention, since the first business is one of the multiple businesses, it can include multiple activities. Optionally, at least some of the multiple activities can also be applied in businesses other than the first business, that is, code redundancy can be reduced by reusing activities.
[0111] Furthermore, the execution logic of the first business can be represented by the flow order (i.e., execution order) of the corresponding multiple activities and the corresponding execution logic. Thus, through the business controller 11, the flow of multiple activities can be carried out according to the flow order, and when flowing to any of the activities, the activity can be executed according to the execution logic of the activity, so as to realize the execution of the first business through the execution of each activity. For example, assuming that the first business includes activities A, B, C, and D, in order to realize the first business, their flow order is to execute activity A first, then execute activities B and C in parallel, and finally execute D. Then, activity A can be executed first according to the execution logic of activity A, and after activity A is executed, activity B can be executed according to the execution logic of activity B and activity C can be executed according to the execution logic of activity C. After both activities B and C are executed, activity D can be executed according to the execution logic of activity D, so that after activity D is executed, the execution of the first business can be realized.
[0112] The technical solution of the embodiment of the present invention is to transfer multiple activities corresponding to the first business through the business controller in the flow order of the multiple activities, and when transferring to any activity, execute the activity according to its execution logic, so as to realize the effective execution of the first business through the execution of multiple activities.
[0113] Before describing the following technical solutions, their application scenarios are first illustrated. Figure 8 Activities can be further categorized as interface activities, network activities, and other activities. The relationships between activities are controlled by an activity manager, which is responsible for determining whether to execute the next activity, return to the previous activity, or insert another activity after the completion of an activity. The execution logic of an activity itself is controlled by an activity executor, which is responsible for creating, starting, stopping, and ending an activity.
[0114] On this basis, it should be noted that an activity has its own life cycle, including creation, restart, pause, completion, and destruction. By implementing the activity behaviors within each life cycle, the work within the entire life cycle of the activity is completed. Activities can mainly have the following processes:
[0115] a) Return to the previous activity: When the return to the previous activity is initiated, the activity manager controls the return to the previous activity.
[0116] b) Execute the next activity: When the execution of the next activity is initiated, the activity manager controls the execution of the next activity.
[0117] c) Insert activity: When an activity is inserted, the activity manager controls the activity insertion process.
[0118] d) Activity completion: When a completion activity is initiated, the activity manager first calls finish() in the activity executor to complete the activity. The business controller then executes the business completion process.
[0119] e) Activity failure: When a failed activity is initiated, the activity manager first calls finish() in the activity executor to fail the activity. The business controller then executes the business failure process.
[0120] f) Activity Cancellation: When an activity cancellation is initiated, the activity manager first calls finish() in the activity executor to cancel the activity. The business controller then executes the business cancellation process.
[0121] Furthermore, a business consists of multiple activities. During the execution of a business, a user interface may be displayed, a network request may be made, or other operations may be performed. During the execution of a business, if a user interface is required, this can be initiated through an interface activity. Users initiate a business by operating within the interface, executing logic and obtaining data, which is then displayed on the interface. Changes to data caused by business execution can trigger interface updates. Interface controllers can be used to control the display, refresh, creation, redrawing, and destruction of interfaces.
[0122] During the execution of a business, if a network request needs to be initiated, a network request can be initiated through a network activity. The network layer responds to the network request, and the network controller makes a data request to the background and displays the requested data on the interface. This is the cooperation between the business layer, the network layer, and the interface layer.
[0123] As explained above, business logic can be reused through inheritance. Businesses are composed of activities, and each business has its own activity manager, responsible for executing the activity logic within that business. Since the activity execution logic of different businesses often shares similarities, the activity managers of different businesses can be inherited. This allows for code to be written only once, while subclasses handle the different parts, further reducing code redundancy.
[0124] An optional technical solution is that the above application system further includes:
[0125] Activity Manager and Activity Executor; among them,
[0126] The business controller is specifically used to perform the following steps by calling the activity manager:
[0127] Carry out the flow of multiple activities in accordance with the flow order;
[0128] In the case of transferring to any activity among the activities, the activity executor is called and the transferred activity is executed according to the execution logic of the transferred activity, so as to realize the execution process of the first business.
[0129] Among them, according to the above explanation, the relationship between activities (such as the flow order) can be controlled by the activity manager, and the execution logic of a certain activity can be controlled by the activity executor. Therefore, the business controller can call the activity manager to flow multiple activities in the flow order, and when flowing to any activity in each activity, it can call the activity executor to execute the activity according to the execution logic of the activity.
[0130] The above technical solution controls the flow between activities through the activity manager and executes the transferred activities through the activity executor. The mutual cooperation between the activity manager and the activity executor realizes the sequential execution of each activity, thereby ensuring the effective execution of the first business.
[0131] Another optional technical solution is that multiple activities include interface activities and business controllers, specifically used for:
[0132] Carry out the flow of multiple activities in accordance with the flow order;
[0133] When the flow is transferred to the interface activity in each activity, an interface display request is initiated through the interface activity so that the interface layer receives the interface display request and the interface controller displays the first interface corresponding to the interface display request to implement the execution process of the first business.
[0134] When the flow transitions to an interface activity, an interface display request can be initiated through the interface activity. This allows the interface layer to receive the interface display request, and the interface controller assigned to the interface layer to display the first interface corresponding to the interface display request. This allows data to be displayed or user operations to be received through the first interface, ensuring the effective execution of the first service.
[0135] In another optional technical solution, the application system further includes: a network layer and a network controller assigned to the network layer; wherein the network controller is used to control the execution logic related to the network layer;
[0136] Multiple activities include network activities and business controllers, specifically for:
[0137] Carry out the flow of multiple activities in accordance with the flow order;
[0138] When the flow is transferred to the network activity in each activity, a network request is initiated through the network activity so that the network layer receives the network request, and the network controller responds to the network request and feeds back the network request result to the network activity to realize the execution process of the first business.
[0139] When the flow is transferred to the network activity, a network request can be initiated through the network activity. In this way, the network request can be received by the network layer, and the network controller assigned to the network layer responds to the network request and feeds back the corresponding network request result (such as the requested data) to the network activity for subsequent processing, thereby ensuring the effective execution of the first service.
[0140] Figure 9 This is a flow chart of an application execution method provided by an embodiment of the present invention. This embodiment is applicable to executing a target application developed based on the above-mentioned application framework, where the target application includes at least a first service. This method can be executed by an application execution device provided by an embodiment of the present invention. The device can be implemented in software and / or hardware and can be integrated into an electronic device, such as various user terminals or servers.
[0141] See also Figure 9 The method of the embodiment of the present invention specifically includes the following steps:
[0142] S410: Receive a first service request corresponding to a first service through a service layer in an application system, and initiate the first service based on the first service request.
[0143] Among them, the first business request can be understood as a request for initiating a first business, which can be initiated by a user or a certain business that has been initiated; the target application developed based on the above application framework may include multiple businesses, and the first business is one of them, such as a balance inquiry business, a fund purchase business or a transfer business, etc.; the above content is all related to actual conditions and is not specifically limited here.
[0144] A first service request is received through the service layer, and a first service is initiated based on the first service request.
[0145] S420: Execute the first service according to the execution logic of the first service through the service controller in the application system, and initiate a result display request based on the execution result of the first service.
[0146] The execution logic of the first service may represent a series of operations that need to be performed to complete the first service. In the embodiment of the present invention, the execution logic may also be optionally referred to as processing logic.
[0147] Because the business controller is a controller pre-assigned to the business layer, after the first business is initiated through the business layer, the business controller can directly obtain the first business and execute the first business according to its execution logic to complete the first business. For example, assuming that the first business includes multiple activities, the execution logic of the first business can be represented by the flow order of each activity and the execution logic corresponding to each activity. Then, through the business controller, the flow of multiple activities can be carried out in the flow order, and when the flow is transferred to any activity in the activities, the flowed activity is executed according to the execution logic of the transferred activity to realize the execution process of the first business. On this basis, optionally, in the case where the above-mentioned application framework includes an activity manager and an activity executor, the activity manager can be called through the business controller so that the activity manager can carry out the flow of multiple activities in the flow order, and when the flow is transferred to any activity in the activities, the flowed activity is executed according to the execution logic of the transferred activity by calling the activity executor, thereby realizing the execution process of the first business.
[0148] S430: Receive a result display request through the interface layer in the application system.
[0149] The result display request may be understood as a request for requesting display of the execution result of the first business, and in particular, may be understood as a request initiated by the business layer for requesting display of the execution result.
[0150] Receive result display requests through the interface layer.
[0151] S440: Display the execution result corresponding to the result display request on the second interface corresponding to the result display request through the interface controller in the application system.
[0152] Among them, since the interface controller is a controller pre-assigned to the interface layer, after receiving the result display request through the interface layer, the corresponding execution result can be displayed on the second interface corresponding to the result display request through the interface controller, so that the user can obtain the execution result through the second interface.
[0153] So far, the interaction process between the interface layer and the service layer has been described. On this basis, it can also interact with the service receiver and / or network layer. The specific interaction process has been described above and will not be repeated here.
[0154] The technical solution of the embodiment of the present invention is applied to a target application, which is developed based on the above-mentioned application framework. The target application includes at least a first business. Then, the first business request corresponding to the first business can be received through the business layer in the application system, and the first business can be initiated based on the first business request; the first business can be executed according to the execution logic of the first business through the business controller in the application system, and a result display request can be initiated based on the execution result of the first business; the result display request can be received through the interface layer in the application system; and the execution result corresponding to the result display request can be displayed on the second interface corresponding to the result display request through the interface controller in the application system. The above-mentioned technical solution can achieve the effect of business execution and result display based on the cooperation between the business layer and the interface layer in the application framework developed for the target application during the operation of the target application, and combined with the business controller and the interface controller.
[0155] Figure 10 This is a structural block diagram of an application running device provided in an embodiment of the present invention, which is used to execute the application running method provided in any of the above embodiments. This device and the application running method of each of the above embodiments belong to the same inventive concept. For details not fully described in the embodiment of the application running device, please refer to the embodiment of the above application running method. Figure 10 The device can be configured on a target application, which is developed based on the above-mentioned application system. The target application includes at least a first business. The device can specifically include: a business initiation module 510, a request initiation module 520, a request receiving module 530 and a result display module 540.
[0156] The service initiation module 510 is configured to receive a first service request corresponding to a first service through a service layer in the application system, and initiate the first service based on the first service request;
[0157] The request initiating module 520 is configured to execute the first service according to the execution logic of the first service through the service controller in the application system, and initiate a result display request based on the execution result of the first service;
[0158] The request receiving module 530 is used to receive the result display request through the interface layer in the application system;
[0159] The result display module 540 is configured to display the execution result corresponding to the result display request on the second interface corresponding to the result display request through the interface controller in the application system.
[0160] The application running device provided by the embodiment of the present invention can cooperate with each other through the mutual cooperation of various modules during the process of running the target application. The business layer and interface layer in the application framework of the target application can cooperate with each other, and combine the business controller and the interface controller, thereby achieving the effect of business execution and result display.
[0161] The application running device provided in the embodiment of the present invention can execute the application running method provided in any embodiment of the present invention, and has the corresponding functional modules and beneficial effects of the execution method.
[0162] It is worth noting that in the embodiment of the above-mentioned application running device, the various units and modules included are only divided according to functional logic, but are not limited to the above-mentioned division, as long as the corresponding functions can be achieved; in addition, the specific names of the functional units are only for the convenience of distinguishing each other, and are not used to limit the scope of protection of the present invention.
[0163] Figure 11 A schematic diagram of the structure of an electronic device 10 that can be used to implement an embodiment of the present invention is shown. The electronic device is intended to represent various forms of digital computers, such as laptop computers, desktop computers, workstations, personal digital assistants, servers, blade servers, mainframe computers, and other suitable computers. The electronic device can also represent various forms of mobile devices, such as personal digital processing, cellular phones, smart phones, wearable devices (such as helmets, glasses, watches, etc.) and other similar computing devices. The components shown herein, their connections and relationships, and their functions are merely examples and are not intended to limit the implementation of the present invention described and / or claimed herein.
[0164] like Figure 11 As shown, the electronic device 10 includes at least one processor 11 and a memory, such as a read-only memory (ROM) 12, a random access memory (RAM) 13, etc., which is communicatively connected to the at least one processor 11. The memory stores a computer program that can be executed by the at least one processor. The processor 11 can perform various appropriate actions and processes according to the computer program stored in the read-only memory (ROM) 12 or the computer program loaded from the storage unit 18 into the random access memory (RAM) 13. Various programs and data required for the operation of the electronic device 10 can also be stored in the RAM 13. The processor 11, ROM 12, and RAM 13 are connected to each other via a bus 14. An input / output (I / O) interface 15 is also connected to the bus 14.
[0165] Multiple components in the electronic device 10 are connected to the I / O interface 15, including an input unit 16, such as a keyboard, a mouse, etc.; an output unit 17, such as various types of displays, speakers, etc.; a storage unit 18, such as a magnetic disk, an optical disk, etc.; and a communication unit 19, such as a network card, a modem, a wireless communication transceiver, etc. The communication unit 19 allows the electronic device 10 to exchange information / data with other devices via a computer network such as the Internet and / or various telecommunication networks.
[0166] The processor 11 may be any general-purpose and / or specialized processing component with processing and computing capabilities. Some examples of the processor 11 include, but are not limited to, a central processing unit (CPU), a graphics processing unit (GPU), various specialized artificial intelligence (AI) computing chips, various processors for running machine learning model algorithms, a digital signal processor (DSP), and any suitable processor, controller, microcontroller, etc. The processor 11 executes the various methods and processes described above, such as the application execution method.
[0167] In some embodiments, the application execution method may be implemented as a computer program tangibly contained in a computer-readable storage medium, such as storage unit 18. In some embodiments, part or all of the computer program may be loaded and / or installed on electronic device 10 via ROM 12 and / or communication unit 19. When the computer program is loaded into RAM 13 and executed by processor 11, one or more steps of the application execution method described above may be performed. Alternatively, in other embodiments, processor 11 may be configured to execute the application execution method in any other appropriate manner (e.g., by means of firmware).
[0168] Various embodiments of the systems and techniques described above can be implemented in digital electronic circuit systems, integrated circuit systems, field programmable gate arrays (FPGAs), application specific integrated circuits (ASICs), application specific standard products (ASSPs), systems on chips or systems on chips (SOCs), complex programmable logic devices (CPLDs), computer hardware, firmware, software, and / or combinations thereof. These various embodiments can include being implemented in one or more computer programs that are executable and / or interpreted on a programmable system that includes at least one programmable processor, which can be a special purpose or general purpose programmable processor that can receive data and instructions from a storage system, at least one input device, and at least one output device, and transmit data and instructions to the storage system, the at least one input device, and the at least one output device.
[0169] Computer programs for implementing the methods of the present invention may be written in any combination of one or more programming languages. These computer programs may be provided to a processor of a general-purpose computer, a special-purpose computer, or other programmable data processing device, such that when the computer program is executed by the processor, the functions / operations specified in the flowcharts and / or block diagrams are implemented. The computer program may be executed entirely on the machine, partially on the machine, as a stand-alone software package, partially on the machine and partially on a remote machine, or entirely on a remote machine or server.
[0170] In the context of the present invention, computer-readable storage media can be tangible media that can contain or store a computer program for use with an instruction execution system, device or equipment or used in combination with an instruction execution system, device or equipment. Computer-readable storage media can include but are not limited to electronic, magnetic, optical, electromagnetic, infrared or semiconductor systems, devices or equipment, or any suitable combination of the foregoing. Alternatively, computer-readable storage media can be machine-readable signal media. More specific examples of machine-readable storage media can include electrical connections based on one or more lines, portable computer disks, hard disks, random access memories (RAM), read-only memories (ROM), erasable programmable read-only memories (EPROM or flash memory), optical fibers, portable compact disk read-only memories (CD-ROM), optical storage devices, magnetic storage devices, or any suitable combination of the foregoing.
[0171] To provide interaction with a user, the systems and techniques described herein can be implemented on an electronic device having: a display device (e.g., a CRT (cathode ray tube) or LCD (liquid crystal display) monitor) for displaying information to the user; and a keyboard and pointing device (e.g., a mouse or trackball) through which the user can provide input to the electronic device. Other types of devices can also be used to provide interaction with the user; for example, the feedback provided to the user can be any form of sensory feedback (e.g., visual feedback, auditory feedback, or tactile feedback); and input from the user can be received in any form (including acoustic input, voice input, or tactile input).
[0172] The systems and techniques described herein can be implemented in a computing system that includes back-end components (e.g., as a data server), or a computing system that includes middleware components (e.g., an application server), or a computing system that includes front-end components (e.g., a user computer with a graphical user interface or web browser through which a user can interact with implementations of the systems and techniques described herein), or a computing system that includes any combination of such back-end components, middleware components, or front-end components. The components of the system can be interconnected by any form or medium of digital data communication (e.g., a communication network). Examples of communication networks include: a local area network (LAN), a wide area network (WAN), a blockchain network, and the Internet.
[0173] A computing system may include clients and servers. The clients and servers are typically remote from each other and typically interact via a communication network. This client-server relationship arises through computer programs running on the respective computers, creating a client-server relationship. The server may be a cloud server, also known as a cloud computing server or cloud host. This server is a hosting product within the cloud computing service ecosystem that addresses the management difficulties and limited scalability of traditional physical hosting and VPS services.
[0174] In particular, according to an embodiment of the present invention, the process described above with reference to the flowchart can be implemented as a computer software program. For example, an embodiment of the present invention includes a computer program product that includes a computer program carried on a non-transitory computer-readable medium, the computer program containing program code for executing the method shown in the flowchart. In such an embodiment, the computer program can be downloaded and installed from a network via the communication unit 19, or installed from the storage unit 18, or installed from the ROM 12. When the computer program is executed by the processor 11, the above-mentioned functions defined in the method of the embodiment of the present invention are performed.
[0175] It should be understood that the various forms of the processes shown above can be used to reorder, add, or delete steps. For example, the steps described in the present invention can be performed in parallel, sequentially, or in a different order, as long as the desired results of the technical solution of the present invention can be achieved. This is not limited herein.
[0176] The above specific embodiments do not limit the scope of protection of the present invention. Those skilled in the art will appreciate that various modifications, combinations, sub-combinations, and substitutions may be made based on design requirements and other factors. Any modifications, equivalent substitutions, and improvements made within the spirit and principles of the present invention are intended to be included within the scope of protection of the present invention.
Claims
1. An application system for application development, characterized in that: include: A business layer and an interface layer, as well as a business controller assigned to the business layer and an interface controller assigned to the interface layer; wherein, The business controller is used to control the execution logic related to the business layer; The interface controller is used to control the execution logic related to the interface layer.
2. The application system according to claim 1, characterized in that: The business layer is configured to receive a first business request and initiate a first business based on the first business request, wherein the target application developed based on the application system includes at least the first business; The service controller is specifically configured to execute the first service according to the execution logic of the first service.
3. The application system according to claim 2, characterized in that: The first business includes multiple activities, and the execution logic of the first business is represented by the flow sequence of each activity and the execution logic corresponding to each activity; wherein, The business controller is specifically used to transfer multiple activities in the flow order, and when transferring to any one of the activities, execute the transferred activity according to the execution logic of the transferred activity to realize the execution process of the first business.
4. The application system according to claim 3, characterized in that: Also includes: Activity Manager and Activity Executor; among them, The business controller is specifically configured to execute the following steps by calling the activity manager: Carrying out the flow of a plurality of the activities according to the flow order; In the case of transferring to any one of the activities, the activity executor is called and the transferred activity is executed according to the execution logic of the transferred activity, so as to realize the execution process of the first business.
5. The application system according to claim 3, characterized in that: The plurality of activities include interface activities, and the business controller is specifically configured to: Carrying out the flow of a plurality of the activities in accordance with the flow order; When the flow transitions to the interface activity in each of the activities, an interface display request is initiated through the interface activity, so that the interface layer receives the interface display request, and the interface controller displays the first interface corresponding to the interface display request, thereby implementing the execution process of the first business; and / or, The application system further includes: a network layer and a network controller assigned to the network layer; wherein the network controller is used to control the execution logic related to the network layer; The plurality of activities include network activities, and the service controller is specifically configured to: Carrying out the flow of a plurality of the activities in accordance with the flow order; In the case of the network activity in each of the activities being transferred, a network request is initiated through the network activity so that the network layer receives the network request, and the network controller responds to the network request and feeds back the network request result to the network activity to implement the execution process of the first business.
6. The application system according to claim 3, characterized in that: At least some of the multiple activities are also applied during the execution of services other than the first service.
7. The application system according to claim 1, characterized in that: Also includes: A service receiver and a service receiving controller assigned to the service receiver; wherein, The service receiving controller is used to control the execution logic related to the service receiver; The first service request processed by the service layer is a service request with controllable initiation time; The second service request processed by the service receiver is the service request whose initiation time is uncontrollable.
8. The application system according to claim 1, characterized in that: Also includes: a network layer and a network controller assigned to said network layer; The business layer is used to initiate a singleton thread so that the business controller runs in the singleton thread, and the network layer is used to initiate a new thread so that the network controller runs in the new thread; The interface controller runs in the main thread, and the singleton thread, the new thread and the main thread are all managed by one class.
9. The application system according to claim 1, characterized in that: Also includes: Data layer; wherein the data layer is used to store data based on at least one of the following three methods: Storing runtime data through caching; Storing data based on key-value pairs through SharedPreferences; and Use SQLiteDatabase to store data of the same type and with a data volume greater than the preset data volume.
10. A method for running an application, characterized in that: Applied to a target application, the target application is developed based on the application system according to any one of claims 1 to 9, the target application includes at least a first business, and the method includes: receiving, through the service layer in the application system, a first service request corresponding to the first service, and initiating the first service based on the first service request; executing the first service according to the execution logic of the first service through the service controller in the application system, and initiating a result display request based on the execution result of the first service; Receiving the result display request through the interface layer in the application system; The execution result corresponding to the result display request is displayed on a second interface corresponding to the result display request through an interface controller in the application system.