Đây là một mẫu thiết kế khác tương tự như MVC. Nó cũng ược sử dụng ể triển khai các ứng dụng và giao diện web nhưng ngược lại với MVC, phần controller ược chính framework ảm nhận cho chúng ta.
Nó có 3 thành phần và mỗi thành phần có một mục ích cụ thể:
Model: Tương tự như MVC, thành phần này hoạt ộng như một giao diện cho dữ liệu
của bạn và về cơ bản là cấu trúc logic ằng sau toàn bộ ứng dụng web ược ại diện bởi cơ sở dữ liệu như MySql, PostgreSQL.
● View: Thực thi logic nghiệp vụ và tương tác với Model và render template.
Nó chấp nhận HTTP request và sau ó trả lại các HTTP response.
● Template: Đây là thành phần làm cho MVT khác với MVC. Các template óng
vai trị như lớp trình bày (presentation) và về cơ bản là mã HTML hiển thị dữ liệu. Nội dung trong các tệp này có thể là tĩnh hoặc ộng.
Bảng sau sẽ so sánh sự khác nhau giữa mẫu thiết kế MVC và MVT:
STT
MODEL VIEW
CONTROLLER (MVC)
MODEL VIEW TEMPLATE (MVT)
1.
MVC có Controller iều khiển cả Model và View.
MVT có View ể nhận
HTTP request và trả lại HTTP response.
2.
View cho biết dữ liệu người dùng sẽ ược trình bày như thế nào
Template ược sử dụng trong MVT cho mục ích tương tự
3.
Trong MVC, chúng ta phải viết tất cả mã Controller cụ
thể. Phần Controller ược quản lý bởi chính Framework.
4. Kết hợp chặt chẽ Kết hợp lỏng lẻo
5. Khó sửa ổi Dễ sửa ổi
6. Thích hợp phát triển cho những ứng dụng lớn Thích hợp cho phát triển ứng dụng lớn và nhỏ 7. Luồng ược xác ịnh rõ ràng do ó dễ hiểu.
Luồng ôi khi khó hiểu hơn so với MVC.
8.
Nó khơng liên quan ến ánh
xạ các URL. Ánh xạ mẫu URL diễn ra.
9.
Các ví dụ như: ASP.NET MVC, Spring MVC v..v..
Django sử dụng mẫu MVT.