1. Mô hình MVC là gì?
Mô hình MVC là một mẫu kiến trúc phân tách 1 ứng dụng để tạo ra các giao diện người dùng trực quan. MVC chia ứng dụng thành 3 phần chính mỗi phần có vai trò và chức năng khác nhau bao gồm:
Model: Là nơi lưu trữ dữ liệu và logic liên quan bao gồm các class, function để xử lý các tác vụ truy vấn thêm, sửa, xoá dữ liệu. Tại đây chịu trách nhiệm quản lý và giao tiếp với cơ sở dữ liệu.
Controller: Là nơi trung gian giữa Model và View. Giúp lớp View và Model giao tiếp với nhau. Controller đóng vai trò quản lý điều phối hoạt động của ứng dụng.
View: Là nơi hiển thị dữ liệu tới người dùng để người dùng có thể tương tác được vơi hệ thống.
Để tìm hiểu thêm về MVC các bạn có thể tham khảo thêm 1 số frame sử dụng MVC như:
2. Luồng xử lý trong MVC.
Khi yêu cầu từ Client được gửi đến Server từ khối View lúc này khối Controller kiểm tra xem đó là URL request hay event.
Sau đó, Controller xử lý dữ liệu đầu vào của user rồi giao tiếp với khối Model trong MVC.
Lúc này, khối Model xử lý thông tin thực hiên các câu lệnh truy vấn dữ liệu trong database và rồi gửi trả lại cho khối Controller.
Cuối cùng, khi khối Controller nhận được được dữ liệu từ khối Model sẽ gửi trả lại dữ liệu mà user cần trả ra View và hiển thị cho user trên browser( trình duyệt).
3. Ưu điểm và nhược điểm của mô hình MVC
Ưu điểm MVC:
- Băng thông nhẹ giúp cho website hoạt động ổn định hơn.
- Kiểm tra đơn giản và dễ dàng.
- Tach biệt được các phần Model, Controller, View giúp quản lý code hiệu quả hơn.
- Tối ưu trên các nền tảng khác nhau.
- Dễ dàng duy trì ứng dụng vì chúng tách biệt lẫn nhau.
- Các developer có thể làm việc cùng lúc.
Ngoài các ưu điểm nổi bật bên trên, MVC cũng có những hạn chế nhất định, cụ thể như:
- MVC đa phần phù hợp với công ty chuyên về website hoặc các dự án lớn không phù hợp cho các dự án nhỏ và lẻ.
- Mô hình MVC sẽ phức tạp khi được áp dụng vào những dự án lớn..
- Yêu cầu cập nhật thường xuyên.
4. Ứng dụng của MVC trong lập trình là gì?
MVC đang là một mô hình được ứng dụng rất nhiều trong lập trình, hiện nay nó cũng đang được ứng dụng trong nhiều ngôn ngữ lập trình khác nhau, phổ biến nhất có thể kể đến là ứng dụng ASP.NET hay PHP .
Hệ thống MVC phát triển tốt sẽ cho phép phát triển front – end, back – end cùng trên một hệ thống mà không có sự chia sẻ, can thiệp, chỉnh sửa các tập tin trong khi một hoặc hai bên vẫn đang làm việc.
Có thể thấy việc sử dụng MVC tương đối đơn giản. Bạn chỉ cần hiểu rõ quy trình vận hành, nắm được các chức năng của từng bộ phận thì việc triển khai chia sẻ tương đối dễ dàng.