You are on page 1of 3

BÁO CÁO NHÓM 5: TÌM HIỂU VỀ MVC

Thành viên: Đậu Phương Thảo – Nguyễn Mạnh Dũng- Dương Đình Võ
1.Định nghĩa
MVC là một mẫu kiến trúc phần mềm để tạo lập giao diện người dùng trên máy tính. MVC chia một ứng
dụng thành ba phần tương tác được với nhau để tách biệt giữa cách thức mà thông tin được xử lý nội
hàm và phần thông tin được trình bày và tiếp nhận từ phía người dùng.

2. Thành phần MVC


View
View là một phần của ứng dụng chịu trách nhiệm cho việc trình bày dữ liệu. Thành phần này được tạo
bởi dữ liệu thu thập từ dữ liệu mô hình, và giúp người dùng có cái nhìn trực quan về trang web, cũng
như ứng dụng.

View cũng đại diện cho dữ liệu từ các cuộc trò chuyện, sơ đồ và bảng. Ví dụ: bất kỳ View nào cũng sẽ
bao gồm tất cả các thành phần giao diện người dùng như một nút bấm, khung nhập, menu, hình ảnh,…

Model
Phần Model của kiến trúc MVC là thành phần chính đảm nhiệm chức năng lưu trữ dữ liệu và các bộ phận
logic liên quan của toàn bộ ứng dụng. Model chịu trách nhiệm cho các thao tác dữ liệu giữa Controller
hoặc bất kỳ logic nghiệp vụ liên quan nào khác như: cho phép xem, truy xuất dữ liệu,… Ví dụ, Controller
sẽ lấy thông tin khách hàng từ cơ sở dữ liệu. Model sẽ thực hiện các thao tác dữ liệu và gửi lại cơ sở dữ
liệu hoặc sử dụng nó cho View.
Controller
Đây là phần xử lý tương tác người dùng của ứng dụng. Controller xử lý dữ liệu đầu vào từ bàn phím và
chuột của người dùng sau đó thông báo tới View và Model. Sau đó liền gửi các lệnh tới Model để thay
đổi trạng thái của Model (Ví dụ: lưu một tài liệu cụ thể). Controller cũng gửi các lệnh tương tự tới View
để thực hiện các thay đổi về giao diện.

Cách vận hành của mô hình của MVC

Hiểu một cách đơn giản, mô hình MVC cho ta thấy cách thức hoạt động của các ứng dụng web.

Hãy tưởng tượng việc bạn phải chuẩn bị một bữa tối với chiếc tủ lạnh đầy thức ăn. Trong trường hợp
này, mọi nguyên liệu bạn có chính là Model. Và bạn có nhiều lựa chọn công thức món ăn khác nhau,
những lựa chọn này đóng vai trò giống như Controller. Các món ăn sau khi được chế biến và bày biện
sẵn sàng, chính là View.

Trong thực tế, MVC là công cụ hữu ích khi vận hành ứng dụng vì nó cho phép bạn hình dung về ứng dụng
của mình dễ dàng dàng hơn và sắp xếp các ý tưởng đó thành các đoạn code.

Ví dụ bạn muốn lập trình một ứng dụng giúp lên kế hoạch làm việc. Và ứng dụng này cho phép người sử
dụng tạo các nhiệm vụ, và sắp xếp chúng thành các danh sách.

Chức năng Model trong ứng dụng này sẽ giúp định nghĩa “nhiệm vụ” và “danh sách” là tổng hợp các
“nhiệm vụ”.

Các đoạn code View sẽ quyết định giao diện của ứng dụng, như phông chữ hay màu sắc.

Và cuối cùng, Controller sẽ chịu trách nhiệm về cách thức người dùng thêm các nhiệm vụ, hay đánh dấu
các nhiệm vụ đã được hoàn thành. Controller kết nối nút “thêm” từ View với Model. Như vậy, khi tương
tác với nút “thêm” từ View, Model sẽ thêm nhiệm vụ mới.

4.Ưu , nhược điểm MVC:


Nhược điểm
 Khó khăn trong quá trình điều hướng code: Điều hướng khung có thể phức tạp vì mô hình này
bao gồm nhiều lớp và yêu cầu người dùng thích ứng với các tiêu chí phân tách của MVC.
 Không thích hợp việc phát triển các ứng dụng nhỏ vì mô hình này yêu cầu bạn lưu trữ một số
lượng lớn các file.
 Nhiều khung hoạt động đồng thời: Việc phân tách một tính năng thành ba bộ phận khác nhau dễ
dẫn đến hiện tượng phân tán. Do đó, đòi hỏi các nhà phát triển phải duy trì tính nhất quán của
nhiều bộ phận cùng một lúc.

Ưu điểm:
 Tiết kiệm băng thông: Vì không sử dụng viewstate nên MVC rất nhẹ và tiết kiệm được diện tích
của băng thông. Khi cần tương tác gửi và nhận dữ liệu liên tục, người dùng có thể sử dụng các
ứng dụng trên web. Điều này giúp website có thể hoạt động ổn định và tốt hơn.
 Dễ dàng kiểm tra: Nhờ có MVC, bạn sẽ dễ dàng hơn trong việc kiểm tra, rà soát lỗi, đảm bảo
được chất lượng và độ uy tín cho phần mềm trước khi tới tay người dùng.
 Điều khiển: Sử dụng mô hình MVC sẽ giúp bạn điều khiển được nền tảng các ngôn ngữ lập trình
hiện đại như HTML, CSS, Javascript,… với nhiều hình thức khác nhau.
 Chức năng Separation of Concern: Cho phép phân tách một cách rõ ràng các thành phần model,
data, giao diện hay nghiệp vụ.
 Tính kết hợp: Bạn có thể thoải mái viết code trên nền tảng web khi tích hợp ở mô hình MVC để
giảm tải dữ liệu server.
 Tính đơn giản: Kết cấu của mô hình MVC tương đối đơn giản và dễ dàng sử dụng ngay cả khi bạn
không có chuyên môn.

Khi áp dụng mô hình MVC:

• Cải thiện thời gian quy trình, lập trình: ứng dụng mô hình MVC giúp công việc hoàn thành nhanh
gấp 3 lần so với các mô hình lập trình khác

• Khả năng cung cấp nhiều chế độ view: có thể tạo nhiều view cho một mô hình

• Sửa đổi trên web không ảnh hưởng đến toàn bộ mô hình MVC

• Model trong mô hình MVC trả dữ liệu về mà không cần áp dụng định dạng cụ thể nào

• Thân thiện với SEO: tích hợp với ngô ngữ như JS, jquery, dễ dàng thay đổi và phát triển các URL
để cải thiện SEO, từ đó tạo ra nhiều lượt truy cập hơn.

You might also like