Brief description of the relationship between architectures, frameworks, and design patterns

Source: Internet
Author: User
Brief description of the relationship between architectures, frameworks, and design patterns
 
Author: Unknown Source: Network
 

I. Definition of software architecture and framework

The English word of the software architecture is "architecture". The basic meaning of architecture is architecture, architecture, and architectural style.

Although the software architecture is rooted in software engineering, it is still in a stage of research and development, so far there is no universally accepted definition.

In design patterns, the framework is defined as a group of collaborative classes. for a specific type of software, the framework constitutes a reusable design.

A Software Framework is an architecture formed by extracting the commonalities of software in a specific field during the software development process of a project. software projects in different fields have different types of frameworks. The role of the framework is to extract the common parts of software in a specific field, so during the development of new projects in this fieldCodeYou do not need to write it from the beginning. You only need to make some development and adjustments on the basis of the framework to meet the requirements. For the development process, this will improve the software quality and reduce costs, shorten the development time and make development easier and more profitable, forming a virtuous circle.

The framework is not a ready-to-use application system. It is a semi-finished product that requires secondary development by later developers to implement specific functions of the application system. The framework is not a "Platform". A vague platform concept can be an operating system, an application server, a database software, or a communication middleware, therefore, the platform mainly refers to the system software that provides specific services on the application platform, and the framework focuses more on the design and development process. Alternatively, the framework plays a role by calling the services provided by the platform.

The framework is not a toolkit or a class library. Calling APIS is not just about using framework development. Using APIs closely, developers can complete the theme of the system and call the class library from time to implement specific tasks. The framework constitutes a general and general system main part. The secondary development personnel just fill in the blanks and complete the distinctive special part of a specific application system based on the specific business.

Ii. Relationship between framework and architecture

The framework is not an architecture (Software Architecture ). The architecture determines the overall structure, hierarchy, and collaboration among different parts of the system. The framework is more specific than the architecture. More focused on technical suspicion. After the framework is determined, the software architecture is also determined, and the same software architecture (such as MVC in Web Development) can be implemented through multiple frameworks.

Iii. Relationship between frameworks and Design Patterns

Design Patterns and frameworks are two different research fields in software design. The design pattern is a solution to the design problem. A pattern can be applied to different frameworks and implemented by different languages, while a framework is an application architecture, it is a mixture of one or more design patterns and code. Although they are different, they work together to make people's design reusable, And there is uniformity in their thinking, therefore, the idea of the design pattern can be applied in the framework design.

There are significant differences between the framework and the design model, mainly in the content provided by the two and the fields dedicated to application.

1) In terms of application fields, the Framework provides the architecture of the entire application, while the design model provides a solution to a single design problem, and this solution can be used in different applications.ProgramOr the application in the framework.

2) in terms of content, the design mode is only a simple design, which can be implemented by different languages in no way; while the Framework is a mixture of design and code, programmers can extend the framework in various ways to form different applications.

3) based on article 2, it can be concluded that the design model is easier to transplant than the framework: once the framework is designed and formed, although it has not yet formed a complete application, however, the development of applications based on the framework is obviously subject to the implementation environment of the framework. The design mode is language independent, so it can be applied in a wider range of heterogeneous environments.

In short, the framework is software, and the design model is the knowledge body of the software, improving the design level of the framework.

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.