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 PDF

Info

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
Application number
CN201810088036.8A
Other languages
Chinese (zh)
Inventor
张鹏
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shenzhen Futu Network Technology Co Ltd
Original Assignee
Shenzhen Futu Network Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Shenzhen Futu Network Technology Co Ltd filed Critical Shenzhen Futu Network Technology Co Ltd
Priority to CN201810088036.8A priority Critical patent/CN108182057A/en
Publication of CN108182057A publication Critical patent/CN108182057A/en
Withdrawn legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/20Software design
    • G06F8/24Object-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

A kind of Software Architecture Design system based on extension and plug-in unit mode
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.
CN201810088036.8A 2018-01-30 2018-01-30 A kind of Software Architecture Design system based on extension and plug-in unit mode Withdrawn CN108182057A (en)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Patent Citations (4)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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