Tìm hiểu mô hình MVC là gì ?

4

Mô hình MVC (Model – View – Controller) là một kiến trúc phần mềm hay mô hình thiết kế được sử dụng trong kỹ thuật phần mềm. Nó giúp cho các developer tách ứng dụng của họ ra 3 thành phần khác nhau Model, View và Controller. Mỗi thành phần có một nhiệm vụ riêng biệt và độc lập với các thành phần khác.

 MVC là gì ?

Mô hình MVC (Model – View – Controller) là một kiến trúc phần mềm hay mô hình thiết kế được sử dụng trong kỹ thuật phần mềm. Nó giúp cho các developer tách ứng dụng của họ ra 3 thành phần khác nhau Model, View và Controller. Mỗi thành phần có một nhiệm vụ riêng biệt và độc lập với các thành phần khác.

Các thành phần trong MVC

Chúng ta khoan hãy tìm hiểu đến cách thức nó hoạt động mà hãy xem nó gồm những gì! Đây là mô hình MVC

 

Model

Đây là thành phần chứa tất cả các nghiệp vụ logic, phương thức xử lý, truy xuất database, đối tượng mô tả dữ liệu như các Class, hàm xử lý…

View

Đảm nhận việc hiển thị thông tin, tương tác với người dùng, nơi chứa tất cả các đối tượng GUI như textbox, images…Hiểu một cách đơn giản, nó là tập hợp các form hoặc các file HTML.

Controller

Giữ nhiệm vụ nhận điều hướng các yêu cầu từ người dùng và gọi đúng những phương thức xử lý chúng… Chẳng hạn thành phần này sẽ nhận request từ url và form để thao tác trực tiếp với Model.

MVC làm việc như thế nào?

Nhìn lại sơ đồ phía trên, ta thấy có mũi tên nét liền và những mũi tên nét đứt. Những mũi tên nét đứt được hình thành trên quan điểm của người dùng mà không phải là của những nhà thiết kế phần mềm thực sự. Do đó chúng ta chỉ quan tâm đến những mũi tên còn lại.

 Đây là một cách đơn giản để mô tả lại luồng sự kiện được xử lý trong MVC:

– User tương tác với View, bằng cách click vào button, user gửi yêu cầu đi.

– Controller nhận và điều hướng chúng đến đúng phương thức xử lý ở Model.

– Model nhận thông tin và thực thi các yêu cầu.

– Khi Model hoàn tất việc xử lý, View sẽ nhận kết quả từ Model và hiển thị lại cho người dùng.

 

Ưu điểm và nhược điểm của MVC

1. Ưu điểm:

Thể hiện tính chuyên nghiệp trong lập trình, phân tích thiết kế. Do được chia thành các thành phần độc lập nên giúp phát triển ứng dụng nhanh, đơn giản, dễ nâng cấp, bảo trì..

2. Nhược điểm:

Đối với dự án nhỏ việc áp dụng mô hình MC gây cồng kềnh, tốn thời gian trong quá trình phát triển. Tốn thời gian trung chuyển dữ liệu của các thành phần.

Xuân Trung

Chia sẻ.

4 Bình luận

  1. Hoahamhoc vào

    ths bài viết của bạn . Cho mình hỏi
    Vậy trong mô hình MVC thì view và model có sự tương tác nào ko?

  2. Cảm ơn bạn đã cho mình hiểu cơ bản mô hình MVC là gì.

    Nhưng mình cũng cùng câu hỏi ở trên.

    Thực sự mà nói thì mình thấy Controller không điều phối dữ liệu từ model về View. Mà model sẽ làm chuyện đó luôn (theo cái hình).

    Bạn có thể giải thích thêm cho mình hiểu được không?

  3. lequangloi vào

    Không đúng lắm về MVC rồi bạn ơi. Tác động vào MVC đầu tiên là : Controller -> Model->View. Phân tính trên là nhìn từ ngoài vào rồi, còn theo theo mô hình MVC nó không đi như vậy.