CN108182057A - A kind of Software Architecture Design system based on extension and plug-in unit mode - Google Patents
A kind of Software Architecture Design system based on extension and plug-in unit mode Download PDFInfo
- Publication number
- CN108182057A CN108182057A CN201810088036.8A CN201810088036A CN108182057A CN 108182057 A CN108182057 A CN 108182057A CN 201810088036 A CN201810088036 A CN 201810088036A CN 108182057 A CN108182057 A CN 108182057A
- Authority
- CN
- China
- Prior art keywords
- plug
- host
- unit
- interface
- extension
- 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.)
- Withdrawn
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/20—Software design
- G06F8/24—Object-oriented
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
Abstract
The present invention discloses a kind of Software Architecture Design system based on extension and plug-in unit mode, including:Host initiates to ask to scheduler module, ask for plug-in unit, scheduler module inter-process, different plug-in unit couple in adapters is given in each request, plug-in unit couple in adapter interacts in itself with plug-in unit, exchange information, interface according to host's agreement generates host interface implementor, the host interface implementor has dispensed inserter noumenon in itself, and return to host, host depends on host's interface, pass through the rule operation plug-in unit of host's interface protocol, not only physically code division is opened so as to reach realization, allow different developers, it is developed in the sub- engineering that development teams are only responsible at oneself, also logically by the dependence of each engineering, coupling releases, developer is facilitated to only use oneself relevant one or several engineering development, debugging, greatly improve development efficiency.
Description
Technical field
The present invention relates to software architecture design field more particularly to a kind of software framves based on extension and plug-in unit mode
Structure design system.
Background technology
The existing scheme for realizing Software Architecture Design, mainly including following two:
Scheme one, all together, only there are one engineering, all developers, development teams for application program (APP) for all codes
The shortcomings that concurrent development all in the engineering, the program, including:
Code all together, relies on and the degree of coupling is high, anyone can change other people code, the stabilization of software
Property is poor, and when team size is larger, cooperation efficiency is relatively low.
Scheme two, the multiple sub- engineerings of a main works have dependence and coupling each other, and there are one main works for application APP
The shortcomings that journey and multiple sub- engineerings, different business development team develop in specified sub- engineering, the program, including:
Although having split multiple engineerings, physically different developers, development teams are kept apart, actually each sub- work
Journey has dependence between each other, can not individually compile, and developer still needs all engineerings when developing debugging, less efficient, and
Engineering can not be quickly split when business quickly changes, remove engineering.
Invention content
The present invention provides a kind of Software Architecture Design system based on extension and plug-in unit mode, to solve the prior art
The technical issues of dependence and the degree of coupling are high, and when team size is larger, and cooperation efficiency is low.
In order to solve the above technical problems, the present invention provides a kind of Software Architecture Design system based on extension and plug-in unit mode
System, including:Host, scheduler module, plug-in unit, plug-in unit couple in adapter, host's interface implementor, host's interface;
The host initiates to ask to the scheduler module, asks for the plug-in unit, the scheduler module inter-process will be every
The different plug-in unit couple in adapters is given in a request, and the plug-in unit couple in adapter interacts in itself with the plug-in unit, is exchanged
Information generates host's interface implementor according to the interface of host agreement, which dispenses
The inserter noumenon in itself, and returns to the host, and the host depends on host's interface, passes through host's interface
The rule of agreement operates the plug-in unit.
Wherein, the host initiates to ask to the scheduler module, including:
The host initiates to ask according to extensionPointID to the scheduler module.
Wherein, the scheduler module is described after application APP starts for managing the host and the plug-in unit
Scheduler module can be by the configuration file X.FTExtensionPoint.plist of the host and the configuration file of the plug-in unit
X.FTExtension.plist is all added in memory, and is arranged and obtained two lists:Host table and plugin table.
Wherein, the scheduler module is used in system operation, will use two list host tables that the arrangement obtains and
Plugin table, to manage entire extension-plug-in system.
Wherein, the host does not depend on the plug-in unit, the plug-in unit is not for the host independently of the plug-in unit
Necessary, the host cannot directly invoke the interface and ability of the plug-in unit.
Wherein, the plug-in unit depends on the host, and the plug-in unit can directly invoke the interface and ability of the host.
Wherein, a host supports multiple plug-in units.
Wherein, an abstraction layer is introduced between the host, the plug-in unit, for solving the host and described
Plug-in unit is decoupling.
Wherein, the configuration file X.FTExtensionPoint.plist of the host and the configuration text of the plug-in unit are defined
Part X.FTExtension.plist, there are one the configuration file of the host and plug-in units for each business module
Configuration file, the configuration file of each host can configure the information of multiple hosts, the configuration text of each plug-in unit
Part can configure the information of multiple plug-in units.
Wherein, extensionPointID represents the identification code ID, extensionID of the host and represents the plug-in unit
Identification code ID can be associated the host and the plug-in unit by the configuration file;By the configuration file by plug-in unit ID
It is associated with corresponding processing class, in conjunction with the configuration file of the host, host table and plugin table are together the host
Identification code ID- described in plug-in unit identification code ID- described in plug-in unit processing class connection run through.
The present invention provides Software Architecture Design system of the nature based on extension and plug-in unit mode, including:Host to scheduling mould
Block initiates request, asks for plug-in unit, and each request is given to different plug-in unit couple in adapters, plug-in unit by scheduler module inter-process
Couple in adapter interacts in itself with plug-in unit, exchanges information, and host interface implementor, the host are generated according to the interface of host's agreement
Interface implementor has dispensed inserter noumenon in itself, and returns to host, and host depends on host's interface, passes through host's interface protocol
Rule operation plug-in unit, so as to reach realize not only physically code division is opened, allow different developers, development teams only exist
It is developed in oneself responsible sub- engineering, also logically the dependence of each engineering, coupling is released, developer is facilitated to only use oneself
Relevant one or several engineering developments, debugging, greatly improve development efficiency.
Description of the drawings
Fig. 1 is the structure diagram of the Software Architecture Design system the present invention is based on extension and plug-in unit mode.
Specific embodiment
With reference to the accompanying drawings and examples, the present invention is described in further detail.It is emphasized that following implement
Example is merely to illustrate the present invention, but the scope of the present invention is not defined.Likewise, following embodiment is only the portion of the present invention
Point embodiment and not all embodiments, the institute that those of ordinary skill in the art are obtained without creative efforts
There are other embodiments, shall fall within the protection scope of the present invention.
Application APP refers to the application program on iOS platforms.
Software architecture:Refer to application APP general frame, key structure.
Objective-C:Refer to the development language of application program on iOS platforms.
Engineering:In iOS platform application program development processes 1 or more can be included using term, an application APP
A engineering.
Binary system:Refer to software and developed the executable file for compiling obtain afterwards.
Business module:The many equal functions of being divided in finger program according to product characteristic.
Host (Host):Refer to the main body in extension-plug-in unit pattern.
Plug-in unit:Refer to the object in extension-plug-in unit pattern.
The present invention provides a kind of Software Architecture Design system based on extension and plug-in unit mode.
Fig. 1 is referred to, Fig. 1 is the structural representation of the Software Architecture Design system the present invention is based on extension and plug-in unit mode
Figure, the present invention is based on extension and plug-in unit mode Software Architecture Design system, including:Host 101, scheduler module 102, plug-in unit
103rd, plug-in unit couple in adapter 104, host's interface implementor 105, host's interface 106.
Host 101 initiates to ask to scheduler module 102, asks for plug-in unit 103,102 inter-process of scheduler module will be asked each
It asks and is given to different plug-in unit couple in adapters 104, plug-in unit couple in adapter 104 is interacted with plug-in unit 103 itself, is exchanged information, is pressed
According to interface generation host's interface implementor 105 that host 101 arranges, host's interface implementor 105 has dispensed 103 entity of plug-in unit
Itself, and host 101 is returned to, host 101 depends on host's interface 106, and the rule operation arranged by host's interface 106 is inserted
Part 103.
Wherein, host 101 initiates to ask to scheduler module 102, including:
Host 101 initiates to ask according to extensionPointID to scheduler module 102.
Wherein, scheduler module 102 is for managing host 101 and plug-in unit 103, after application APP starts, scheduler module
102 can be by the configuration file X.FTExtensionPoint.plist of host 101 and the configuration file of plug-in unit 103
X.FTExtension.plist is all added in memory, and is arranged and obtained two lists:Host table and plugin table.
Wherein, scheduler module 102 is used in system operation, will be used two list host tables that the arrangement obtains and is inserted
Part table, to manage entire extension-plug-in system.
Wherein, host 101 does not depend on plug-in unit 103, plug-in unit 103 is not required for host 101 independently of plug-in unit 103
, host 101 cannot directly invoke the interface and ability of plug-in unit 103.
Wherein, plug-in unit 103 depends on host 101, and plug-in unit 103 can directly invoke the interface and ability of host 101.
Wherein, a host 101 supports multiple plug-in units 103.
Wherein, an abstraction layer is introduced between host 101, plug-in unit 103, for solving host 101 and plug-in unit 103
It is decoupling.
Wherein, the configuration file X.FTExtensionPoint.plist of host 101 and the configuration file of plug-in unit 103 are defined
X.FTExtension.plist, there are one the configurations of the configuration file and a plug-in unit 103 of host 101 for each business module
File, the configuration file of each host 101 can configure the information of multiple hosts 101, and the configuration file of each plug-in unit 103 can configure
The information of multiple plug-in units 103.
Wherein, extensionPointID represents the identification code ID, extensionID of host 101 and represents the knowledge of plug-in unit 103
Other code ID can be associated host 101 and plug-in unit 103 by the configuration file;By the configuration file by plug-in unit ID and right
The processing class answered associates, and in conjunction with the configuration file of host 101, host table and plugin table are together the identification of host 101
The identification code ID- plug-in units 103 of code ID- plug-in units 103, which handle class connection, to be run through.
Each host 101 will define abstraction interface rule according to the characteristics of respective usage scenario, and host 101 depends on should
Abstraction interface, plug-in unit 103 need to defer to the rule of the definition of host 101, i.e. plug-in unit 103 realizes interface, such host 101 and insert
Just there is no direct-coupling between part 103.
Software Architecture Design system provided by the invention based on extension and plug-in unit mode, including:Host 101, scheduling mould
Block 102, plug-in unit 103, plug-in unit couple in adapter 104, host's interface implementor 105, host's interface 106;Host 101 to scheduling mould
Block 102 initiates request, asks for plug-in unit 103, and it is suitable to be given to different plug-in unit accesses by 102 inter-process of scheduler module for each request
Orchestration 104, plug-in unit couple in adapter 104 are interacted with plug-in unit 103 itself, exchange information, are generated according to the interface that host 101 arranges
Host's interface implementor 105, host's interface implementor 105 have dispensed 103 entity of plug-in unit in itself, and return to host 101, place
Main 101 dependent on host's interface 106, and the rule operation plug-in unit 103 arranged by host's interface 106 is realized not only so as to reach
Physically code division is opened, different developers, development teams is allowed only to be developed in oneself responsible sub- engineering, also in logic
On by the dependence of each engineering, coupling release, developer is facilitated to only use oneself relevant one or several engineering developments, debugging,
Greatly improve development efficiency.
Software Architecture Design system provided by the invention based on extension and plug-in unit mode, can release application APP
The coupling of main body and business module allows application APP flexibly to split into multiple business modules, and business module is to each other
Without coupling without dependence, facilitate across the team exploitation of mega project, promote development efficiency, reduce team collaboration's cost.
Software Architecture Design system provided by the invention based on extension and plug-in unit mode, host 101 and the pipe of plug-in unit 103
Reason configuration mode is not limited to plist static files mentioned above, can also be configured using alternative document form or dynamic configuration;
Wherein, extension-plug-in architecture is not limited to the exploitation of iOS platform application programs APP, other client platforms such as Mac, Android,
The equally applicable frameworks of Windows.
Software Architecture Design system provided by the invention based on extension and plug-in unit mode, can effectively support application program
Exploitation, maintenance and the use of APP, comprising main business module can have market, transaction, information, social activity etc., these business moulds
Block is existing to have used the technology to access application APP main body, and from now on the expansion of business, new product characteristic can also
It is quickly accessed with this scheme.
In several embodiments provided by the present invention, it should be understood that disclosed system, device and method can
To realize by another way.For example, device embodiments described above are only schematical, for example, module or
The division of unit, only a kind of division of logic function can have other dividing mode, such as multiple units in actual implementation
Or component may be combined or can be integrated into another system or some features can be ignored or does not perform.Another point, institute
Display or the mutual coupling, direct-coupling or communication connection discussed can be by some interfaces, device or unit
INDIRECT COUPLING or communication connection can be electrical, machinery or other forms.
The unit illustrated as separating component may or may not be physically separate, be shown as unit
Component may or may not be physical unit, you can be located at a place or can also be distributed to multiple networks
On unit.Some or all of unit therein can be selected according to the actual needs to realize the mesh of present embodiment scheme
's.
In addition, each functional unit in each embodiment of the present invention can be integrated in a processing unit, also may be used
To be that each unit is individually physically present, can also two or more units integrate in a unit.It is above-mentioned integrated
The form that hardware had both may be used in unit is realized, can also be realized in the form of SFU software functional unit.
If integrated unit realized in the form of SFU software functional unit and be independent product sale or in use, can
To be stored in a computer read/write memory medium.Based on such understanding, technical scheme of the present invention substantially or
Saying all or part of the part contribute to the prior art or the technical solution can be embodied in the form of software product
Out, which is stored in a storage medium, is used including some instructions so that a computer equipment
(can be personal computer, server or the network equipment etc.) or processor (processor) perform each implementation of the present invention
The all or part of step of methods.And aforementioned storage medium includes:USB flash disk, mobile hard disk, read-only memory (ROM,
Read-Only Memory), random access memory (RAM, RandomAccess Memory), magnetic disc or CD etc. it is various
The medium of program code can be stored.
The foregoing is merely the section Examples of the present invention, not thereby limit the scope of the invention, every utilization
The equivalent device or equivalent process transformation that description of the invention and accompanying drawing content are made directly or indirectly are used in other correlations
Technical field, be included within the scope of the present invention.
Claims (10)
1. a kind of Software Architecture Design system based on extension and plug-in unit mode, which is characterized in that including:Host, scheduler module,
Plug-in unit, plug-in unit couple in adapter, host's interface implementor, host's interface;
The host initiates to ask to the scheduler module, asks for the plug-in unit, the scheduler module inter-process will be asked each
It asks and is given to the different plug-in unit couple in adapters, the plug-in unit couple in adapter interacts in itself with the plug-in unit, exchanges information,
Interface according to host agreement generates host's interface implementor, which has dispensed described insert
Part entity in itself, and returns to the host, and the host depends on host's interface, passes through host's interface protocol
Rule operates the plug-in unit.
2. the Software Architecture Design system based on extension and plug-in unit mode as described in claim 1, which is characterized in that the place
It is main to initiate to ask to the scheduler module, including:
The host initiates to ask according to extensionPointID to the scheduler module.
3. the Software Architecture Design system based on extension and plug-in unit mode as described in claim 1, which is characterized in that the tune
Degree module is for managing the host and the plug-in unit, and after application APP starts, the scheduler module can be by the host
Configuration file X.FTExtensionPoint.plist and the plug-in unit configuration file X.FTExtension.plist it is whole
It is added in memory, and arranges and obtain two lists:Host table and plugin table.
4. the Software Architecture Design system based on extension and plug-in unit mode as claimed in claim 3, which is characterized in that the tune
It spends module to be used in system operation, the two list host tables and plugin table that the arrangement obtains will be used, to manage entire expansion
Exhibition-plug-in system.
5. the Software Architecture Design system based on extension and plug-in unit mode as described in claim 1, which is characterized in that the place
Master does not depend on the plug-in unit, the plug-in unit is not essential for the host, and the host cannot independently of the plug-in unit
Directly invoke the interface and ability of the plug-in unit.
6. the Software Architecture Design system based on extension and plug-in unit mode as described in claim 1, which is characterized in that described to insert
Part depends on the host, and the plug-in unit can directly invoke the interface and ability of the host.
7. the Software Architecture Design system based on extension and plug-in unit mode as described in claim 1 a, which is characterized in that institute
It states host and supports multiple plug-in units.
8. the Software Architecture Design system based on extension and plug-in unit mode as described in claim 1, which is characterized in that described
An abstraction layer is introduced between host, the plug-in unit, it is decoupling for solving the host and the plug-in unit.
9. the Software Architecture Design system based on extension and plug-in unit mode as described in claim 1, which is characterized in that define institute
State the configuration file X.FTExtensionPoint.plist of host and the configuration file of the plug-in unit
X.FTExtension.plist, each business module matching there are one the configuration file of the host and plug-in unit
File is put, the configuration file of each host can configure the information of multiple hosts, the configuration file of each plug-in unit
It can configure the information of multiple plug-in units.
10. the Software Architecture Design system based on extension and plug-in unit mode as claimed in claim 9, which is characterized in that
ExtensionPointID represents the identification code ID of the host, and extensionID represents the identification code ID of the plug-in unit, passes through
The configuration file can associate the host and the plug-in unit;By the configuration file by plug-in unit ID and corresponding processing class
It associates, in conjunction with the configuration file of the host, host table and plugin table are together described in the identification code ID- of the host
Plug-in unit processing class connection runs through described in the identification code ID- of plug-in unit.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810088036.8A CN108182057A (en) | 2018-01-30 | 2018-01-30 | A kind of Software Architecture Design system based on extension and plug-in unit mode |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810088036.8A CN108182057A (en) | 2018-01-30 | 2018-01-30 | A kind of Software Architecture Design system based on extension and plug-in unit mode |
Publications (1)
Publication Number | Publication Date |
---|---|
CN108182057A true CN108182057A (en) | 2018-06-19 |
Family
ID=62551721
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810088036.8A Withdrawn CN108182057A (en) | 2018-01-30 | 2018-01-30 | A kind of Software Architecture Design system based on extension and plug-in unit mode |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108182057A (en) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108958842A (en) * | 2018-07-12 | 2018-12-07 | 北京猫眼文化传媒有限公司 | The business plug-in unit application method of application program and application program |
CN111176663A (en) * | 2019-12-20 | 2020-05-19 | 北京字节跳动网络技术有限公司 | Data processing method, device and equipment of application program and storage medium |
CN111208983A (en) * | 2020-01-09 | 2020-05-29 | 广州嘉为科技有限公司 | Use method of plug-in extensible framework |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2003014971A2 (en) * | 2001-08-10 | 2003-02-20 | Cellectivity Limited | Web interaction system which enables a mobile telephone to interact with web resources |
CN101561915A (en) * | 2009-06-05 | 2009-10-21 | 阿里巴巴集团控股有限公司 | Plug-in unit acquiring method, system and device thereof |
CN106371864A (en) * | 2016-08-23 | 2017-02-01 | 上海创景计算机系统有限公司 | Method for quickly deploying plugin architecture |
CN106681718A (en) * | 2016-12-16 | 2017-05-17 | 武汉中地数码科技有限公司 | Toolkit-based desktop side plugin frame and implementation method thereof |
-
2018
- 2018-01-30 CN CN201810088036.8A patent/CN108182057A/en not_active Withdrawn
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2003014971A2 (en) * | 2001-08-10 | 2003-02-20 | Cellectivity Limited | Web interaction system which enables a mobile telephone to interact with web resources |
CN101561915A (en) * | 2009-06-05 | 2009-10-21 | 阿里巴巴集团控股有限公司 | Plug-in unit acquiring method, system and device thereof |
CN106371864A (en) * | 2016-08-23 | 2017-02-01 | 上海创景计算机系统有限公司 | Method for quickly deploying plugin architecture |
CN106681718A (en) * | 2016-12-16 | 2017-05-17 | 武汉中地数码科技有限公司 | Toolkit-based desktop side plugin frame and implementation method thereof |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108958842A (en) * | 2018-07-12 | 2018-12-07 | 北京猫眼文化传媒有限公司 | The business plug-in unit application method of application program and application program |
CN111176663A (en) * | 2019-12-20 | 2020-05-19 | 北京字节跳动网络技术有限公司 | Data processing method, device and equipment of application program and storage medium |
CN111176663B (en) * | 2019-12-20 | 2024-02-02 | 抖音视界有限公司 | Data processing method, device, equipment and storage medium of application program |
CN111208983A (en) * | 2020-01-09 | 2020-05-29 | 广州嘉为科技有限公司 | Use method of plug-in extensible framework |
CN111208983B (en) * | 2020-01-09 | 2023-06-23 | 广州嘉为科技有限公司 | Use method of plug-in type expandable framework |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20220253298A1 (en) | Systems and methods for transformation of reporting schema | |
CN114327861B (en) | Method, device, system and storage medium for executing EDA task | |
US10838977B2 (en) | Key-value replication with consensus protocol | |
CN108182057A (en) | A kind of Software Architecture Design system based on extension and plug-in unit mode | |
US8458693B2 (en) | Transitioning from static to dynamic cluster management | |
CN104539672A (en) | Mobile application program message pushing agency system based on cloud computing | |
KR101099227B1 (en) | System and method of distributing replication commands | |
EP2572290A2 (en) | Sharing and synchronization of objects | |
CN106713469B (en) | Dynamic loading method, device and system for distributed container | |
CN103309650A (en) | Generating method and device of persistence layer codes | |
CN112363857B (en) | Application system, synchronization method, storage medium and device of micro front-end architecture | |
CN114706690B (en) | Method and system for sharing GPU (graphics processing Unit) by Kubernetes container | |
CN103369038A (en) | PaaS (platform as a service) management platform and method | |
US20100023577A1 (en) | Method, system and article for mobile metadata software agent in a data-centric computing environment | |
CN103150159A (en) | Identifier generation using named objects | |
CN105574026A (en) | Method and device for service supporting by using non-relational database | |
CN109388435A (en) | Realize app while the repeatedly method and apparatus of opening operation | |
CN112487097A (en) | Method, system and equipment for synchronizing distributed field data | |
CN104714813B (en) | A kind of android database delay loading method based on proxy mode | |
CN110019113B (en) | Database service processing method and database server | |
CN109582464B (en) | Method and device for managing multiple virtualization platforms by cloud platform | |
CN111782363A (en) | Method and flow system for supporting multi-service scene calling | |
KR101045346B1 (en) | Distributed transaction system having automatic geneation part for interface and method therefor | |
CN108509553A (en) | A kind of item file generation method and platform | |
Lawson | Application machines: an approach to realizing understandable systems |
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 | ||
WW01 | Invention patent application withdrawn after publication |
Application publication date: 20180619 |
|
WW01 | Invention patent application withdrawn after publication |