To implement the Platform + plug-in structure software design needs Two standard interfaces are defined. One is the platform extension interface implemented by the platform, and the other is the plug-in interface implemented by the plug-in. It should be noted that the platform extension interface is fully implemented by the platform. The plug-in is only called and used. The plug-in interface is fully implemented by the plug-in, and the platform is only called and used. The Platform extension interface enables one-way communication from the plug-in to the platform. The plug-in can obtain various resources and data of the main framework through the platform extension interface, including various system handles, Program Internal data and memory allocation. The plug-in interface provides one-way communication between the platform and the plug-in. The Platform calls the functions implemented by the plug-in interface to read plug-in data and process data.
The Platform Plug-in processing functions include plug-in registration, management, and calling, as well as the function implementation of the platform extension interface. To register a plug-in, first search for installed plug-ins in the system according to a certain mechanism, then register the searched plug-ins on the platform, and generate a corresponding call mechanism on the platform, this includes menu options, toolbar, and internal calls. The plug-in management completes coordination between the plug-in and the platform, generates management information for each plug-in on the platform, and tracks the status of the plug-in. A plug-in call calls the functions implemented by each plug-in. Another part of the Platform Plug-in processing function is the specific implementation of the platform extension interface.
Plug-in software design steps include:
1. determine the basic functions and plug-ins of the platform to complete the serialization or expansion of functions;
2. Define platform extension interfaces and plug-in interfaces;
3. Complete the platform design, mainly the Platform Plug-in processing function;
4. Provide the main platform Program (ExecutionCode), Publish the platform extension interface and the interface to be implemented by the plug-in, which may include the SDK for development;
5. Plug-In developers develop plug-ins as required to implement plug-in interfaces. developers can use the provided main platform program test plug-ins;
6. The primary platform designer continues to complete the kernel functions of the primary platform, and can announce the addition of new primary platform extension interfaces and plug-in interfaces at any time;
7. Achieve a virtuous circle of steps 4-6, and the entire software system continues to evolve.
Advantages of Platform + plug-in software design:
1. Implement True Software Components"Plug-and-play";
2. Integrate software at the binary level to reduce the trouble and time for software re-compilation and release;
3. It is able to achieve division of labor development of software modules, and can greatly absorb the advantages of others;
4. Better code hiding and protection of intellectual property rights.