Architectures are system-level, either multi-tiered or event-driven, or microservices-capable architectures.
Pattern is a separation of duties design for GUI applications.
The three-tier architecture (which includes multi-tier architectures) and the MVC pattern (including MVP, MVVM) do not matter, they are not in the same dimension.
The three-tier architecture is divided into the DAL (data Access layer), the BLL (business Logic Layer), the Web layer (interface layer) from the perspective of the entire application architecture, which is intended for separation of duties, and the three tiers are designed to address the various phases of code encapsulation throughout the business operations of the application. In order to enable programmers to focus on the business logic of a certain stage, and layer three is only one case in a multi-layered architecture, it can be divided into multiple layers as needed.
MVC is primarily designed to address the problem of style substitution in the application user interface, separating the UI of the presentation data from the business code as much as possible. MVC separates the pure UI presentation logic into some files (views), putting some of the program logic that interacts with the user in separate files (Controller), passing data in views and controllers using some entity objects that specifically encapsulate the data, those objects, Collectively referred to as models. And then the MVP and MVVM are similar to MVC, the difference between these patterns is how to solve the connection and update between M and V.
In summary, MVC is a pattern, and a three-tier architecture is a schema.
Second, they all have a presentation layer, but the presentation layer of the two is not the same. The relationship between MVC and the presentation layer in the three-tier architecture can be seen in this way, and the V and C in MVC are the representation layers in the three-tier architecture, which can be seen in the schematic.
Differences between schemas and patterns: three-tier architecture and MVC location in application development