So sánh mô hình MVC và cổ điển

Một chút so sánh trong lập trình web để các bạn có thể hiểu rõ hơn

1. Thế nào là mô hình Cổ điển?

Ngày xưa các bạn lập trình một trang jsp, php hay asp, các bạn thường đan xen các mã html cùng với các mã jsp, php, hay asp. Do vậy, có những khó khăn sau có thể gặp phải:

  • Người thiết kế giao diện cũng cần phải biết các ngôn ngữ lập trình, hoặc bạn phải trực tiếp thiết kế chúng.
  • Việc bảo trì chúng thường rất khó khăn, vì một phần các mã chương trình lẫn lộn với mã html.
  • Khi có lỗi xảy ra, việc tìm ra lỗi và định vị ỗi cũng là một vấn đề khó khăn.
  • Và còn nhiều những khó khăn khác …

Việc lập trình như trên, người ta gọi là mô hình lập trình 1, hay là mô hình lập trình cổ điển.

model1

2. Thế nào là mô hình MVC?

Để khắc phục các khó khăn trên, người ta đưa ra mô hình 2 hay còn gọi là mô hình MVC (Model-View-Controllor). Tức là: Tương ứng với một trang JSP ngày xưa, bây giờ người ta tách nó ra làm ba thành phần: Mô hình – Khung nhìn – Bộ điều khiển. Các thành phần trên làm việc như sau:

Mô hình: Mô hình là các lớp java có nhiệm vụ:

  • Nhận các yêu cầu từ khung nhìn
  • Thi hành các yêu cầu đó (tính toán, kết nối CSDL …)
  • Trả về các giá trị tính toán cho View.

Khung nhìn: Bao gồm các mã tương tự như JSP để hiển thị form nhập liệu, các kết quả trả về từ Mô hình…

Bộ điều khiển: Đồng bộ hoá giữa Khung nhìn và Mô hình. Tức là với một trang JSP này thì sẽ tương ứng với lớp java nào để xử lý nó và ngược lại, kết quả sẽ trả về trang jsp nào.

Như vậy, chúng ta có thể tách biệt được các mã java ra khỏi mã html. Do vậy, nó đã giải quyết được các khó khăn đã nêu ra trong Mô hình 1. Người thiết kế giao diện và người lập trình java có thể mang tính chất độc lập tương đối. Việc debug hay bảo trì sẽ dễ dàng hơn, việc thay đổi các theme của trang web cũng dễ dàng hơn …

model1

Nhận xét

Bài đăng phổ biến