Is MVC a design pattern or an architectural pattern?

Mahi 41 Reputation points
2022-05-02T12:57:49.767+00:00

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.

ASP.NET
ASP.NET
A set of technologies in the .NET Framework for building web applications and XML web services.
3,254 questions
0 comments No comments
{count} votes

Accepted answer
  1. Bruce (SqlWork.com) 55,686 Reputation points
    2022-05-02T15:50:59.217+00:00

    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 40,816 Reputation points
    2022-05-02T13:53:35.213+00:00

    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,066 Reputation points
    2022-05-03T03:31:09.717+00:00

    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