Software development ideas: integration, reuse, and sharing

Source: Internet
Author: User

Yesterday I wrote an article titled software development keywords: integration and reuse. Integration and reuse have some intersection.

Continue this topic today. But the question has changed.

 

 

Guided development with reusable ideas:

1. When building a system, abstract the intersection of multiple subsystem systems as the system infrastructure and provide services for multiple subsystems. Our company is engaged in enterprise speech system development, including scheduling system, conference system, and call center system. The intersection of these subsystems, such as the enterprise address book, billing, call records, and network management systems, can be abstracted separately as an infrastructure to provide services for each subsystem.
2. When building a program, you can abstract Reusable Modules in the form of libraries. For example, if the softswitch system needs to use the SIP protocol stack, the SIP protocol stack can be developed into a library so that the SIP library can be reused in other programs (such as TG. If the softswitch program needs to be re-developed, the previous sip library can also be reused directly. Others are the same, such as the TCP packet flow control module and the timer module.
3. a lower level is the reuse of subprograms. Duplicate operations are encapsulated into a library, such as TCP connection establishment and connection closure, and packet sending and receiving.
Advantages of development based on this idea:
1. Avoid repeated development and improve development efficiency.
2. The program structure can be quickly evolved. For example, the SIP library used by the old version of softswitch can be used directly during the development of the new version of SoftSwitch. The more similar libraries, the softswitch can only re-design the core part while the other parts can be reused.
3. The entire system can be flexibly evolved. Subsystem intersection: enterprise address book, billing, call records, and network management support the entire system in the form of infrastructure. During the evolution of the entire system, these infrastructure can be directly reused, or make small-scale changes and then reuse them. In this way, you can re-design the core part of the system, namely the business logic part, to upgrade the system.

Guided development with integrated ideas:

1. When developing a new product, first check whether the company has excellent solutions and software modules that can be integrated to improve efficiency. Second, whether there are excellent and mature solutions in the Open Source world can be integrated. For example, if you want to perform XML codec on C and C ++, you can find some excellent open-source solutions, such as tinyxml, which you do not need to implement on your own. For example, if you need a workflow engine, refer to jbpm.
Benefits:
1. The existing excellent solutions can accelerate the software development process, avoid repeated development, and ensure product quality.
2. In the process of integration, we will gradually accumulate R & D experience and form a R & D platform to become a valuable asset of the company.

Guided development by sharing ideas:

1. Share the reusable software modules, technical accumulation and management experience in the company. Promote knowledge flow.
2. Share reusable code modules, technical accumulation, and management experience in development to external companies. Some Reusable Modules can be contributed in the form of open source. Use the power of the community to promote the development of its own software R & D strength.
Benefits:
1. integration and sharing are combined to realize "use open source, feedback open source" and promote technological progress.
2. Use feedback from the open-source community to promote technological progress.
3. Promote the flow of knowledge and experience.

The advantage of integration and reuse is that the core part of the program and system can be quickly evolved independently of other parts, so as to quickly upgrade the program and system.

 

 

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.