MVC ban đầu được định nghĩa để dễ dàng lập trình các ứng dụng máy tính để bàn. Chế độ xem đăng ký các sự kiện mô hình, cập nhật bản trình bày khi mô hình thay đổi. Bộ điều khiển chỉ đơn thuần dịch các sự kiện giao diện người dùng (ví dụ: nhấn nút) thành các cuộc gọi đến mô hình. Vì vậy, bộ điều khiển và khung nhìn phụ thuộc vào mô hình, nhưng độc lập với nhau. Mô hình là độc lập của cả hai. Điều này cho phép nhiều khung nhìn và bộ điều khiển hoạt động trên cùng một mô hình.
Kiến trúc "MVC" được sử dụng cho các ứng dụng web 1.0 (làm mới toàn trang, không có AJAX) có hơi khác. Một yêu cầu web được gửi đến một bộ điều khiển. Bộ điều khiển bằng cách nào đó sửa đổi trạng thái mô hình, sau đó gửi một hoặc nhiều mô hình được hiển thị bằng một khung nhìn. Cả bộ điều khiển và khung nhìn đều phụ thuộc vào kiểu máy, nhưng bộ điều khiển cũng phụ thuộc vào khung nhìn.
Với các ứng dụng web 2.0, chúng tôi đang quay trở lại kiến trúc MVC cổ điển, ở phía máy khách . Tất cả các mô hình, khung nhìn và bộ điều khiển đều nằm ở phía máy khách dưới dạng các đối tượng Javascript. Bộ điều khiển dịch các sự kiện của người dùng thành các hành động mô hình. Các hành động mô hình có thể hoặc không thể dẫn đến yêu cầu AJAX đến máy chủ. Một lần nữa, khung nhìn đăng ký vào các sự kiện mô hình và cập nhật bản trình bày tương ứng.