Giải thích dễ hiểu về MVC – Mô hình MVC là gì? – VNTALKING

Trong quốc tế Internet văn minh, những website đang ngày càng có xu thế tương tác nhiều hơn với người dùng. Giờ đây website không chỉ đơn thuần là HTML, CSS nữa .
Việc tương tác hai chiều giữa người dùng và ứng dụng càng nhiều khiến cho website không hề triển khai chỉ với một trang tĩnh. Giờ đây, có rất nhiều kỹ thuật mới sinh ra, nhiều quy mô phong cách thiết kế ứng dụng để tăng tính động của website .
Có nhiều quy mô mà bạn hoàn toàn có thể đã nghe tới như MVC, MVVM, MVP … Nhưng điển hình nổi bật nhất và cũng là sinh ra truyền kiếp nhất chính là MVC .

Mình tin chắc rằng, khi bạn đi phỏng vấn kiểu gì cũng gặp phải câu hỏi mô hình MVC là gì? Tại sao phải dùng MVC?

Dù chủ đề về MVC không phải là mới, và cũng có rất nhiều bài viết về nó. Nhưng mình vẫn thấy hứng thú và muốn viết về chủ đề này, mong rằng cả nhà đừng ném đá nhé .

MVC là gì ? MVC có thực sự quan trọng đáng để học không ?

Ở thời gian hiện tại, câu vấn đáp chắc như đinh là : CÓ
MVC thực sự rất quan trọng. Bởi nó là quy mô cơ bản mà hầu hết những ứng dụng web sử dụng. Kể cả những ứng dụng di động, ứng dụng desktop … cũng sử dụng quy mô MVC này .
Khi bạn hiểu được quy mô MVC, bạn sẽ thuận tiện học và khám phá những quy mô văn minh hơn. Cũng giống như việc khi học lập trình, mọi người đều khuyên bạn nên học ngôn từ C / C + + trước. Khi đã nắm cơ bản ngôn từ lập trình C / C + +, việc học thêm những ngôn từ lập trình khác như JAVA, Python, Ruby … trở nên thuận tiện hơn rất nhiều .
Có rất nhiều biến thể xung quanh ý tưởng sáng tạo cơ bản của MVC. Khái niệm bắt đầu được tạo ra vào khoảng chừng năm 1978 bởi Trygve Reenskaug. Nó sinh ra nhằm mục đích giúp người cuối có thể thao tác và tinh chỉnh và điều khiển một mạng lưới hệ thống máy tính cơ bản theo cách trực quan hơn .

Tư tưởng chính của MVC

Mình sẽ không sử dụng những thuật ngữ chuyên ngành để lý giải về quy mô MVC. Thay vào đó, mình lấy một ví dụ từ đời sống .
Hãy thử tưởng tượng, bạn đi vào shop bán trà sữa, bạn thấy menu như sau :
Ví dụ minh họa mô hình MVC
Chà ! nhìn nhiều món mê hoặc quá. Bạn quyết định hành động chọn loại Trà sữa truyền thống lịch sử và báo cho nhân viên cấp dưới shop .
Nhân viên tiếp đón nhu yếu. Tất nhiên là anh ta hiểu phải làm gì, phải pha chế loại vị mà bạn chọn ra sao. Anh ta sẽ sử dụng máy pha trà sữa để tích hợp những nguyên vật liệu pha chế ra cốc trà sữa đúng với nhu yếu của bạn. Sau khi triển khai xong thì chuyển giao cho bạn chiêm ngưỡng và thưởng thức .

🙆 Có ích cho bạn: Dịch vụ tạo web miễn phí – tạo website bán hàng FREE

Trong ví dụ trên, tất cả chúng ta thấy được 3 đối tượng người dùng riêng không liên quan gì đến nhau, đại diện thay mặt cho một phần của quy mô MVC :

  • Máy pha trà sữa (MODEL)
  • Cốc trà sữa mà bạn nhận được (VIEW)
  • Nhân viên phục vụ (CONTROLLER)

Giái thích về mô hình MVC

Giải thích ví dụ MVC

Khi bạn đặt một cốc trà sữa truyền thống, trong đầu bạn đã hình dung ra mình sẽ nhận được cốc trà với vị như nào, màu sắc ra sao…

Điều này cũng giống như khi bạn trên website vậy. Ví dụ, bạn mở Facebook, nhấn nút “ Bạn bè ” để xem list bè bạn của mình. Bạn cũng mong đợi một list bè bạn hiện ra và tất yếu là bạn cũng phần nào tưởng tượng ra list đó .
Khi bạn nhấn nút “ Bạn bè ”, tức là bạn nhu yếu sever Facebook giải quyết và xử lý và trả về cho bạn list, giống như bạn nhu yếu nhân viên cấp dưới ( Controller ) shop trà sữa vậy .
Khi nhận nhu yếu, sever Facebook sẽ lấy tổng thể bè bạn trong cơ sở tài liệu, giống như máy pha trà sữa ( Model ) sử dụng những nguyên vật liệu để làm trà sữa .
Cuối cùng, sau khi triển khai xong thì sever Facebook trả về cho bạn một list bè bạn .
Đến đây bạn đã hiểu MVC là gì rồi đúng không ? Đã hiểu vai trò của từng thành phần trong MVC .

Tóm lại MVC là gì ?

MVC là viết tắt của Model – View – Controller. Trong đó :

  • M là Model: là nơi tương tác với cơ sơ dữ liệu gồm Đọc – Ghi – Cập nhật – Xóa (CRUD).
  • V là View: Hiển thị kết quả người dùng theo cách dễ hiểu dựa trên hành động của người dùng.
  • C là Controller: Nhận yêu cầu từ người dùng, gửi yêu cầu đến cho Model để xử lý dữ liệu, trả kết quả đến View để cập nhập giao diện hiển thị.

MVC là gì

Mô hình MVC trong Web framework

Controller
Controller là nơi xử lý các request tới. Trong một số web framework, Controller có thể tích hợp luôn phần router, tức là nơi định nghĩa các URL cụ thể để ánh xạ tới các chức năng tương ứng cho mỗi request.

Ví dụ URLs:
website.com/profile/ --> returns your profile
website.com/friends/ --> returns list of friends
website.com/friend={userName}/ --> returns specific friend

Model
Đây là nơi bạn tương tác và làm việc với cơ sở dữ liệu. Tại model, bạn có thể lấy dữ liệu từ local, hoặc request tới nơi khác để lấy dữ liệu.

User:- userName- firstName- lastName- friends

View
Đây là các HTML được trả về sau khi xử lý xong yêu cầu của bạn. Nếu xử lý thành công, bạn sẽ nhận được một trang có danh sách bạn bè. Còn nếu bị lỗi, bạn sẽ nhận được một trang báo lỗi, ví dụ 404 “Not found” chẳng hạn.

  • Friend 1: {friendList[0].userName}
  • Friend 2: {friendList[1].userName}
  • Friend 3: {friendList[2].userName}
  • ...

Tạm kết

Tóm lại, MVC là quy mô phong cách thiết kế ứng dụng web vô cùng phổ cập. Nó giúp bạn tách biệt phần logic business với phần View, nhờ đó dễ Unit Test hơn .
Mình kỳ vọng rằng giờ đây bạn đã hiểu rõ hơn về quy mô MVC là gì và chính sách hoạt động giải trí như thế nào .

Nếu bạn có cách hiểu nào hay hơn về kiến trúc MVC thì đừng ngần ngại để lại bình luận bên dưới nhé.

Cám ơn bạn đã đọc bài và hẹn gặp lại ở bài viết sau .

Đọc thêm: