Is MVC a design pattern or an architectural pattern?

Mahi 41 Reputation points

I have confused with the conflict between design pattern and an architectural pattern. I find MVC, MVVM, etc.. under architectural pattern but MVC is described as

  1. The Model-View-Controller (MVC) is an architectural pattern which separates an application into three main groups of components: Models, Views, and Controllers.
  2. MVC is abbreviated as Model View Controller is a design pattern created for developing applications specifically web applications.

Kindly update.

A Microsoft web application framework that implements the model-view-controller (MVC) design pattern.
850 questions
0 comments No comments
{count} votes

Accepted answer
  1. Bruce ( 35,791 Reputation points

    all architectural patterns are design patterns, but not all design patterns are architectural. its called architectural when its high level pattern chosen in the application design phase.

    note: MVC is an old pattern and predates web applications. It originated with Smalltalk-80

    0 comments No comments

2 additional answers

Sort by: Most helpful
  1. Olaf Helper 28,781 Reputation points

    Where do you see the difference between architectural and design pattern in context of software development; I don't see one?

    0 comments No comments

  2. Yijing Sun-MSFT 7,031 Reputation points

    Hi @Mahi
    I think there are some semantic conflicts. Now, you could understand the mvc and mvc design pattern.
    MVC (Model-View-Controller) is a pattern in software design commonly used to implement user interfaces, data, and controlling logic.

    MVC is a presentation pattern (Presentation Patterns), which should be compared with MVP and MVVM. The entire MVC can exist on the presentation layer of the three-tier architecture, and the Model acts as a view model. The three-tier architecture is an architecture pattern (Architecture Pattern), which stands in a more macro perspective to guide the system design. Things like UI, BLL, DAL can even be isolated at the physical level.

    Model-View-Controller (MVC) architectural pattern is an acronym for three words, which are Model, View, and Controller instead of MVC application.

    Best regards,
    Yijing Sun

    If the answer is helpful, please click "Accept Answer" and upvote it.

    Note: Please follow the steps in our  documentation  to enable e-mail notifications if you want to receive the related email notification for this thread.

    0 comments No comments