Differences between architecture and framework

Source: Internet
Author: User
There are many misunderstandings about the software architecture. One of the most common misunderstandings is to confuse the architecture with the framework. There are many misunderstandings about the software architecture, one of the most common misunderstandings is to confuse the architecture with the Framework. This article describes their differences. It is an application of speculative results.

Figure 7 shows the differences between the architecture and the framework. In a word, the framework is software, and the architecture is not software.


Figure 7 differences between architecture and framework

A framework is a special software that does not provide a complete solution, but provides a good foundation for you to build a solution. The framework is a semi-finished product. Typically, a framework is a semi-finished product of a system or subsystem. Services in the framework can be directly called by the final application, and the extension points in the framework are the "changeable points" customized by developers ".

Software architecture is not software, but an important decision on how to design software. Software Architecture decision-making involves how to break down a software system into different parts, static structural relationships and dynamic interaction relationships between parts, etc. After the complete development process, these architecture decisions will be reflected in the final software system developed. Of course, after the introduction of the software framework, the entire development process becomes "Two Steps ", architecture decisions are often reflected in the Framework. Perhaps this is why architecture and framework are often confused.

After understanding this figure, we can easily understand what Frank buschmann and others have defined for the framework in model-Oriented Software Architecture (Volume 1, the relationship between the framework and the architecture is also mentioned:

A framework is an instantiated, partially completed software system or subsystem. It defines an architecture for a group of systems or subsystems and provides basic construction blocks for the construction system, it also defines the adjustable point for specific functions. In an object-oriented environment, the framework consists of an abstract class and a specific class. (A framework is a partially complete software (sub-) system that is intended to be instantiated. it defines the architecture for a family of (sub-) systems and provides the basic building blocks to create them. it also defines the places where adaptations for specific functionality shocould be made. in an object-oriented environment a framework consists of abstract and concrete classes .)

 

About the author

Wen Han. Senior Consultant, CSAI Senior Consultant, author of software architecture design, founder of loosely coupled space (www.ou-he.com) website. Ten years of experience in system planning, architecture design and R & D management, as well as the disseminators and active promoters of software architecture ideas.

 

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.