Nhắc lại các thành phần MVC
MVC có nghĩa cho Model – View – Controller, một mô hình thiết kế cái chia tách một ứng dụng thành
ba bộ phận chính: Model, View và Controller. Mô hình MVC nhằm phân lập giao diện người dùng (UI) với
business logic, cái cho phép các nhà phát triển làm việc trên các bộ phận riêng rẽ mà không ảnh
hưởng bộ phận khác. Cái này dẫn tới code cái dễ dàng hơn để hiểu, duy trì và mở rộng.
Model
Model chịu trách nhiệm cho quản lí dữ liệu của ứng dụng. Nó phản ứng với các yêu cầu từ view và với các
lệnh từ Controller để cập nhật trạng thái của nó. Nó đại diện dữ liệu và business logic của ứng
dụng, xử lí các nhiệm vụ như hiệu lực hóa dữ liệu, tương tác CSDL và các quy tắc business liên
quan đến dữ liệu.
Ví dụ, trong một ứng dụng blog, bạn có thể có Post model chịu trách nhiệm cho lưu, giành, cập nhật
và xóa posts trong CSDL.
View
View trình bày dữ liệu tới người dùng trong dạng có thể sử dụng được. Nó nhận dữ liệu từ Model
và xác định dữ liệu nên được trình bày như thế nào. Nó là trách nhiệm của view để duyệt giao
diện người dùng, nhưng nó không chứa bất cứ business logic nào. Cùng một model dữ liệu có thể có
nhiều views.
Ví dụ, trong một ứng dụng blog, bạn có thể có các view để hiển thị các posts, thể hiện post đơn
hay biên tập một post.
Controller
Controller đóng vai trò như trung gian giữa Model và View. Nó lắng nghe đầu vào người dùng, xử lí
Model khi cần thiết, và cập nhật View để phản ánh thay đổi trong Model. Nói cách khác, Controller
xử lí các tương tác người dùng với View và cập nhật Model tùy theo.
Ví dụ, trong một ứng dụng blog, khi người dùng đệ trình một form để tạo một post mới, Controller
sẽ xử lí nhận HTTP request đó, hiệu lực hóa đầu vào người dùng, tạo một Post model mới, và lưu
nó vào CSDL.