MVC là một mẫu thiết kế phân tầng. MVC là viết tắt của Model, View, Controller. Mỗi tầng sẽ có một nhiệm vụ riền biệt.
Model là những class cung cấp dữ liệu, liên kết với database.
View nhận dữ liệu từ model và controller hiển thị, tương tác cho người dùng,
Controller là phần trung gian có nhiệm vụ điều hướng các request từ người dùng.
Tuy có thể hiểu đơn giản như vậy nhưng làm việc và xử lý với mô hình MVC thực sự khó với những người mới bắt đầu. Vì nhược điểm của MVC là yêu cầu kiến thức chuẩn và vững, khá cồng kềnh với project nhỏ, tốn time trong quá trình phát triển và luồng thực thi qua nhiều giai đoạn nên dẫn đến thời gian chung chuyển dữ liệu dài.
Song song với các nhược điểm nhỏ đó thì MVC có lợi ích rất lớn trong quá trình sử dụng, mở rộng, bảo trì.