Architecture (three-tier architecture), Framework (MVC), design patterns, similarities and differences

Source: Internet
Author: User

Objective:

This blog is mainly for the architecture, framework and design pattern of the differences, there are three layers and the difference between the MVC discussion, for these three do not understand, please click on the wiki and Baidu encyclopedia to make up for the missed, here is not sent link

Software Architecture (software architecture)

The architecture of the software is a sketch of the system, the communication between the various components, the level of division, once the system began detailed design, the architectural blueprint is difficult or even can not be changed, by the software architect from scratch design.

Example: three-tier architecture: an idea for designing software architectures

Logically divide the software into the presentation layer (UI) business Logic Layer (BLL) data access Layer (DAL)

Objective: Low-coupling, high cohesion, all duties, to be easy to replace, modify, can be decentralized deployment, coding.

Three-tier architecture detailed: http://blog.csdn.net/u010191034/article/details/24588675

Software Framework (Softwareframework)

Software framework is in a certain area, others have to make software in this area of the infrastructure required to function, summed up, made a code entity software framework, if you want to make this field of software, can be written in the framework of others, continue to design, write their own software, bone rack to fill the meat, The framework has certain limitations.

Example: MVC (framework)

English model View Controller, is for web development, has written a code-based framework, respectively, M model (model)-V view (view)-C controller three parts

Purpose: The model and the view are separated, so that a model can be used by multiple views, simply say the same site, the view of the phone (interface) and the view of the computer, you can share a model.

Design mode (pattern)

In the software design of the common (recurring) problems, the proposed solution, is a solution of the idea, not rigidly adhere to the code, usually by type or object to describe the relationship and interaction, dependence and abstraction, to achieve decoupling and, can spread, easy maintenance, design patterns are used to solve the problem.

Three differences

Software architecture refers to software architects in the production of software, a blueprint for software planning, is generally layered, drawing the relationship between the various components.

A software framework is defined as a framework (with code) that has been written in a specific area, has limitations, and is limited to specific areas.

Design pattern refers to the abstract solution proposed for some practical problems of programming, interacting with the relationship between classes and classes, and achieving the purpose.

The difference between a three-tier architecture and MVC

The fundamental difference is that 30% is the organization and MVC is the framework, MVC is the application and the Web other people have already written code, such as ASP. NET can directly click on MVC, will automatically generate framework code, and three layer is to do the software itself, is a production software idea.

There is a picture of the truth, the following is the project of ASP.

What they have in common is that they're all divided into three, which makes it easy to misunderstand.

And the three layer UI layer is similar to MVC's M and C, functions.

and the MVC V and the BLL and DLL, function very much like

Although similar, but fundamentally not a thing yo! Because architecture is a software-making idea, and the framework is that people have a specific domain of software common features, written code finished.

So

Software Architecture > Software Framework > Design Patterns

Of course, from a decoupling and point of view, these three are decoupled for the purpose, but also object-oriented, to make a better program, so what is different, is to see at which level

Such as:

Did you buy two iPhone6 phones the same?

From the model, are all Apple 6 mobile phone, is the same

It's not the same as it might be from installing software.

So, some people say that MVC and 30% architecture is a thing, yes, is to understand the coupling and, some people say that MVC and the three-tier architecture is not a thing, also, MVC has the actual framework code, three-tier architecture is to do software, like design patterns, three layer is to do the idea of software, design mode is the idea of solving problems

is so-called: horizontal as the ridge side Chengfeng, far and wide different, everything is not absolute, learn more understanding, today is very condensed, hope to help everyone, but also hope that you can also give me more advice, thank you!

——————————————— want to say goodbye to 503 ... ———————————————

—————————————— Chenchen ———————————————

Architecture (three-tier architecture), Framework (MVC), design patterns, similarities and differences

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.