Build your own C/C ++ plug-in development framework (2)-Overall Function

Source: Internet
Author: User
Tags sca

In this series of previous articles, I introduced the initial idea of building a C/C ++ plug-in development framework. Next I will expand down step by step to implement my idea.

Today I will talk about the functions or expectations of this framework. I read an article about the continuous Integration Capability Maturity Model yesterday. Inspired by this, my understanding of this framework is becoming clearer.

This framework can be used as the infrastructure of our company's underlying products (switches, resource servers, etc. Upper-layer java-based products can be developed directly on OSGI.

Core functions:

1. The most important function is to provide a modular programming model to promote modular software development and implement interface-oriented programming.

2. Provide an infrastructure that helps improve the reusability of modules.

3. Provides a runtime environment for the C/C ++ plug-in.

4. provides a dynamic plug-in framework that can be dynamically changed without restarting the system. Although this function is not difficult to implement, it does not seem very useful.


--------------------------------------------------------------------------------

Extended functions:

1. Supports the distributed system structure. Multiple runtime frameworks are combined to form a system, which hides remote communication details from the module.

2. Supports the hierarchical architecture of the system.

3. Integration with other development frameworks, such as OSGI and SCA.

4. Multiple runtime frameworks can effectively manage runtime frameworks.

5. The concept is similar to that of component, composite, and Domain in SCA.


--------------------------------------------------------------------------------

Development Features:

1. To simplify development, develop an Eclipse plug-in for the C/C ++ plug-in the development framework. The ability to generate public code, configuration files, and Makefile files that comply with the plug-in specifications according to the plug-in development wizard.


--------------------------------------------------------------------------------

Debug some functions:

1. provides a unified log processing function that can be integrated with Log4cpp.

2. Provides message logs between modules and external interface logs of the framework.

3. Provides message and log tracking functions to extract messages and logs related to an event separately.

4. provides resource monitoring to monitor the usage of resources (such as memory, sockets, and file handles.


--------------------------------------------------------------------------------

Test functions:

1. Integrate some unit testing frameworks, such as unitcpp, to achieve the goal of Automated unit testing.

2. Implement the automated integration test framework by yourself, and develop the corresponding Eclipse plug-in to simplify the integration test (using scripts and metadata streams ).

3. Integrate the original automated functional testing framework flowtest and develop the corresponding Eclipse plug-in to simplify functional testing.

4. implement performance testing and monitoring framework.


--------------------------------------------------------------------------------

Deployment functions:

1. automated deployment. Especially for distributed applications.

2. Provide a command line program, use commands to change system configurations, and manage plug-ins.

Related Article

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.