The difference between architecture and framework

Source: Internet
Author: User

is the 7 layer a frame or a schema?

Framework:

1. Definition:

A framework is a reusable design of a whole or part of a system, represented as a set of methods of interaction between an abstract component and a component instance, and the other is defined as an application skeleton that can be customized by the application developer, the former from the application aspect and the latter as the definition from the cemetery.

A framework is a design component that can be taken, usually in the form of a component library, but the frame library is only an important part of the framework, the key of which is the interaction pattern and control flow pattern among the objects within the framework.


2. Frames and Components

The frame is more customizable than the component. In some programs, it is better to consider a component and a framework as two different but collaborative technologies. The framework provides a reusable environment for components, which provides a standard method for component handling errors, exchanging data, and activating operations.


3. Application Framework

The application framework is the bottom-up service that realizes the general complete function of an application domain (excluding the special application part). Programmers using this framework can begin specific system development on the basis of a common functionality that provides a collection of classes for all of the expected default behavior of the application. Specific applications support application-specific behavior by overriding subclasses or assembling objects.


4, the characteristics of the framework

① is actually some kind of application of semi-finished, is a set of components, for you to choose to complete your own system, and the framework is generally mature, constantly upgrading software.

The ② framework is a reusable design that is expressed by a set of abstract classes and the collaborative relationships between their instances.

③ A framework is designed and implemented as part of an application within a given problem area, which means that the framework is part of the design and implementation of application systems in a particular application domain.

5, why to use the framework

Because the development of software systems to today is very complex, especially server-side software, involving the knowledge, content, too many problems. Using other people's mature frameworks in some ways is tantamount to letting others do some basic work for you, and you just need to focus on the business logic design of your system. And the framework is generally mature, robust, he can handle a lot of details of the system, such as things, security, data flow control and other issues. And the framework is generally used by a lot of people, so the structure is very good, so the extensibility is also very good, and it is constantly upgraded, you can directly enjoy the benefits of others to upgrade the code.

Architecture

1. Definition

The Software Architecture (software architecture) is a series of related abstract patterns, which are used to guide the design of large software systems in various aspects, is a sketch of a system, and the object described is an abstract component that directly forms the system. The connection between the components clearly and meticulously describes the communication between the components.

2. How to use

In the implementation phase, these abstract components are subdivided into actual components, such as specific classes or objects, and in the object-oriented realm, the connections between components are usually implemented by interfaces. Software architecture is the foundation of building computer software practice.

3. Elements

① It is a software system that divides from whole to part of the highest level.


A system is usually composed of components, and how these components are formed and how they interact with each other is an important information about the structure of the system itself. In detail, it is to include the architecture element (Architecture Component), the coupler (Connector), the task flow (Task-flow). The so-called architectural elements, which are the core "bricks" of the system, and the coupler describe the communication paths between these components, the mechanism of communication, the expected results of communication, and the task flow describes how the system uses these components and the coupler to accomplish a certain requirement.


② the highest level of construction of a system, subsequent difficult to change, commercial and technological decisions.


There are a number of important decisions that need to be made prior to building a system, and once the system has been designed and even built, these decisions can be difficult to change or even change. Obviously, such a decision must be the most important decision about the success or failure of the system design, it has to undergo very careful research and investigation.

4. Design Objectives

                1. Reliability (Reliable). Software systems are extremely important for the business and management of the user, so the software system must be very reliable.
                2. Security (Secure). The commercial value of the transaction undertaken by the software system is very high, and the security of the system is very important.
                3. Extensibility (Scalable). The software must be able to maintain reasonable performance when the user's usage rate and the number of users increase rapidly. Only in this way can we adapt to the market expansion possibilities of the users.
                4. Customizable (customizable). The same set of software can be adjusted according to the different customer base and the change of market demand.
                5. Scalable (extensible). In the advent of new technologies, a software system should allow the introduction of new technologies to extend the functionality and performance of existing systems.
                6. maintainability (maintainable). The maintenance of software system includes two aspects, one is to eliminate the existing errors, and the other is to reflect the new software requirements to the existing system. An easy-to-maintain system can effectively reduce the cost of technical support.
                7. Customer Experience (Experience). Software systems must be easy to use.
                8. Market timing. Software users face competition from peers, and software providers also face competition from peers. It is very important to compete for the market opportunity with the fastest speed.


Framework and Architecture Differences

1, the framework is software, architecture is not software.

A framework is a special software that does not provide an intact solution, but rather provides a good basis for building your solution. The frame is semi-finished. Typically, a framework is a semi-finished product of a system or subsystem, and the services in the framework can be called directly by the final application system, and the extensibility points in the framework are "changeable points" that are customized by the application developer.

Software architectures are not software, but important decisions about how software is designed. Software architecture decisions involve the decomposition of software systems into different parts, static structural relationships between parts, and dynamic interactions. After the complete development process, these architectural decisions will be reflected in the resulting software system, of course, after the introduction of the software framework, the entire development process becomes a "two-step", and architectural decisions are often reflected in the framework.


We cannot point to some code, which is the software architecture, because the software architecture is an abstraction level concept that is higher than the specific code. Architecture is bound to be embodied and followed by code, but no specific code can represent architecture.


Architecture, Framework, patterns

architecture, framework, pattern is a large-to-small relationship, but also a combination of relationships.

The architecture is generally designed for industry or a class of applications and is a perfect combination of technology and applications.

frame is relatively small, many of the performance of the middleware, the framework is generally from a technical point of view to solve similar problems, from the cross-sectional technology to solve practical problems.

The pattern is smaller, flexible, and can be reused in a wider range.

A framework might use multiple design patterns, and a single schema would likely have multiple frameworks applied.

After reading these overviews, do you know which of the 7 tiers belong to?

The difference between architecture and framework

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.