A brief introduction to the relationship between architecture, framework and design patterns

Source: Internet
Author: User
Tags definition domain
Design a, software architecture and framework definition

The English word for Software architecture is "architecture". The basic meaning of architecture is architecture, architecture, architectural style.

Although 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.

The framework is defined in design patterns as a set of mutually collaborative classes, and for a particular class of software, the framework forms a reusable design.

Software framework is an architecture that extracts the common parts of specific domain software in the process of project software development, and the software projects in different fields have different frame types. The purpose of the framework is to extract the common parts of software in a particular domain, therefore, in this field, the development of new projects in the process of the code need not be written from scratch, only to be based on the framework of some development and adjustment to meet the requirements of the development process, this will improve the quality of software, reduce costs, shorten development time, Make the development more easy, benefit more do better, form a virtuous circle.

Frameworks are not readily available application systems. is a semi-finished product, needs the later developer to carry on two times development, realizes the concrete function the application system. Framework is not "platform", the concept of the platform is more fuzzy can be an operating system, an application server, a database software, a communication middleware and so on, so the platform in the application platform mainly refers to the provision of specific services system software, and the framework more focused on the design, development process, or can say The framework functions by invoking the services provided by the platform.

The framework is not a toolkit or a class library, and invoking the API is not just about using framework development, but using the API is that the developer completes the subject part of the system and occasionally invokes the class library to implement a specific task. And the framework is a general and general system body part, two times developers just like to do the fill in the blanks, according to the specific business, the specific application system to complete the unique special parts.

II. relationship between the framework and the structure

Frameworks are not architectures (that is, software architecture). The architecture determines the design considerations such as the overall structure of the system, the level division, and the collaboration among the different parts. Frameworks are more specific than schemas. More emphasis on technical suspicion. Once the framework is identified, the software architecture is determined, and for the same software architecture, such as MVC in web development, can be achieved through a variety of frameworks.

Iii. the relationship between the framework and the design pattern

Design patterns and frameworks are two different areas of research in software design. Design pattern research is a solution to the problem of design, a pattern can be applied to different frameworks and implemented by different languages, whereas a framework is an application architecture, a mixture of one or more design patterns and code, although they are different, they work together to make people's designs reusable, There is the characteristic of unity in thought, so the idea of design pattern can be applied in the frame design.

There are significant differences between the framework and design patterns, which are mainly manifested in both the content provided by the two and the areas devoted to application.

1 from the application domain, the framework gives the architecture of the whole application, while the design pattern gives a solution to the problem of single design, and the scheme can be applied in different applications or frameworks.

2 from the content, the design pattern is only a simple design, the design can be different languages to achieve without means, and the framework is a mixture of design and code, programmers can use a variety of ways to expand the framework, and thus form a complete variety of applications.

3) based on the second article, it is possible to draw a design pattern that is easier to migrate than the frame: once the framework is designed and formed, although it does not yet constitute a complete application, the development of the application based on it is obviously subject to the implementation environment of the framework, and the design pattern is language-independent, so it can be applied in a wider heterogeneous environment.

In short, the framework is the software, and the design pattern is the knowledge body of the software, which promotes 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.