Mô hình MVC lần đầu được giới thiệu vào cuối thập niên 80 ở thế kỷ trước bởi kỹ sư máy tính Trygve Reenskaug. Đây là một mô hình thiết kế các chương trình, ứng dụng bằng cách phần chia chúng thành 3 thành phần hoặc lớp (layer) chính:
- Model: quản lý và xử lý cơ sở dữ liệu (database), logic và quy tắc (rule) cho ứng dụng
- View: hiển thị dữ liệu theo dạng “có thể hiểu được” bởi người dùng
- Controller: ghi nhận các lệnh và yêu cầu rồi gửi đến Model hoặc View
3 lớp của một mô hình MVC tương tác với nhau tạo thành 1 hình tam giác. Controller là nơi nhận vào các lệnh người dùng (user request) nên ta phải bắt đầu từ Controller để hiểu được cách MVC hoạt động.