MVC là gì?

    Em đang học làm lập trình viên. Trong quá trình viết code thì em gặp khó khăn trong việc sắp xếp mã. Em có tìm hiểu để giải quyết vẫn đề đó thì có biết đến MVC. Anh chị nào biết giải thích giùm em MVC là gì? Các thành phần tạo nên MVC? Ưu nhược điểm của MVC là gì? Em cảm ơn ạ.

     

     

    Câu hỏi của vào 08/11/2019   danh mục: Công nghệ.
    Thêm bình luận
  • 1 Trả lời

      Nếu bạn là một lập trình viên, nhất là lập trình web, sẽ rất khó để bạn có thể xin được việc nếu không biết mô hình MVC. Trong post này mình sẽ trình bày đến các bạn mô hình MVC là gì theo cách hiểu của mình qua một vài dự án sử dụng MVC.

      MVC là gì?

      MVC là viết tắt của Model, View và Controller. MVC là một cách phổ biến để tổ chức mã (code). Ý tưởng đằng sau MVC là khi mỗi phần trong mã của bạn có một mục đích và các mục đích đó là khác nhau. Một số mã thì chứa dữ liệu của ứng dụng, một số mã làm cho ứng dụng trông đẹp mắt và một số mã thì kiểm soát cách ứng dụng hoạt động.

      MVC là một cách để sắp xếp các chức năng của mã của bạn 1 cách gọn gàng. Điều này giúp bạn nhìn vào ứng dụng và chia sẻ ứng dụng của bạn với người khác dễ dàng và gọn hơn nhiều.

      Mô hình MVC thường được sử dụng để phát triển giao diện người dùng. Nó cung cấp các phần cơ bản để thiết kế một chương trình cho máy tính để bàn hoặc thiết bị di động, cũng như các ứng dụng web.

      Các thành phần MVC

      MVC bao gồm Model – mô hình (dữ liệu), View – chế độ xem (giao diện người dùng) và Controller – bộ điều khiển (các quy trình xử lý đầu vào).

      Ba thành phần quan trọng của MVC là:

      • Mô hình: Nó bao gồm tất cả các dữ liệu và logic liên quan.
      • Chế độ xem: Trình bày dữ liệu cho người dùng hoặc xử lý tương tác của người dùng
      • Bộ điều khiển: Giao diện giữa các thành phần Model và View

      Chúng ta hãy xem chi tiết các thành phần này:

      Model – mô hình (dữ liệu)

      Thành phần Model tương ứng với tất cả logic liên quan đến dữ liệu mà người dùng làm việc. Điều này có thể biểu thị dữ liệu đang được chuyển giữa các thành phần Chế độ xem và Trình điều khiển hoặc bất kỳ dữ liệu nào liên quan đến logic của nghiệp vụ khác.

      Ví dụ: một đối tượng khách hàng sẽ lấy thông tin từ cơ sở dữ liệu, thao tác và cập nhật dữ liệu đó trở lại cơ sở dữ liệu hoặc sử dụng nó để kết xuất dữ liệu.

      Để giải thích nó một cách thực tế, hãy tưởng tượng chúng ta đang tạo một ứng dụng quản lý tác vụ đơn giản sẽ cho phép người dùng tổ chức các nhiệm vụ dựa trên ngày và giờ. Điều đó có nghĩa là chúng ta sẽ có người dùng và tác vụ để quản lý trong cơ sở dữ liệu. Trong ngôn ngữ của MVC, người dùng và tác vụ là các mô hình (model) trong ứng dụng.

      View

      View là Giao diện người dùng mà khách hàng / người dùng có thể thực hiện một số hành động. Nó chứa HTML, CSS, JS, XML hoặc bất kỳ ngôn ngữ nào khác mà chúng ta có thể sử dụng để tạo giao diện người dùng. Nó cũng chứa mã để hiển thị dữ liệu mà nó nhận được từ ứng dụng.

      Hai điều duy nhất mà Chế độ xem phải làm là hiển thị dữ liệu cho khách hàng / người dùng trên Giao diện người dùng và phản hồi các hành động của người dùng.

      Controller – bộ điều khiển (các quy trình xử lý đầu vào)

      Bộ điều khiển hoạt động như một giao diện giữa Model và View để xử lý tất cả nghiệp vụ và các yêu cầu đầu vào, thao tác dữ liệu bằng cách sử dụng thành phần Model và tương tác với Chế độ xem để hiển thị đầu ra cuối cùng. Đó là bộ não của ứng dụng, và liên kết model và view.

      Ví dụ: Bộ điều khiển khách hàng sẽ xử lý tất cả các tương tác và đầu vào từ Chế độ xem khách hàng và cập nhật cơ sở dữ liệu bằng Mô hình khách hàng. Bộ điều khiển tương tự sẽ được sử dụng để xem dữ liệu của khách hàng.

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

      Ưu điểm của MVC: Lợi ích chính

      Đây là những lợi ích chính của việc sử dụng kiến ​​trúc MVC.

      • Bảo trì mã dễ dàng, giúp mở rộng và phát triển
      • Thành phần MVC có thể được kiểm tra riêng với người dùng
      • Hỗ trợ dễ dàng cho khách hàng mới
      • Sự phát triển của các thành phần khác nhau có thể được thực hiện song song.
      • Nó giúp bạn tránh sự phức tạp bằng cách chia một ứng dụng thành ba phần: Model, view và controller.
      • Chỉ sử dụng mẫu Front Controller xử lý các yêu cầu ứng dụng web thông qua một bộ điều khiển duy nhất.
      • Cung cấp hỗ trợ tốt nhất để phát triển dựa trên thử nghiệm
      • Nó hoạt động tốt cho các ứng dụng Web được hỗ trợ bởi các nhóm các nhà thiết kế và phát triển web.
      • Cung cấp sự phân tách rõ ràng các mối quan tâm (SoC).
      • Công cụ tìm kiếm tối ưu hóa (SEO) thân thiện.
      • Tất cả các layer (lớp) và các đối tượng là độc lập với nhau để bạn có thể kiểm tra chúng một cách riêng biệt.

      Nhược điểm của việc sử dụng MVC

      • Khó đọc, thay đổi, kiểm tra và sử dụng lại mô hình này.
      • Việc điều hướng tổ chức có thể đôi khi phức tạp vì nó giới thiệu các layer mới đòi hỏi người dùng phải thích ứng với các tiêu chí của MVC.
      • Không hỗ trợ xác nhận chính thức.
      • Tăng độ phức tạp và kém hiệu quả của dữ liệu.
      • Khó khăn khi sử dụng MVC với giao diện người dùng.
      • Cần có nhiều lập trình viên để tiến hành lập trình song song.
      • Phải có lượng kiến thức về công nghệ phải nhiều vì nó rất cần thiết.
      • Duy trì rất nhiều mã trong controller (bộ điều khiển).
      Mẫu giáoĐã trả lời vào 13/11/2019
      Thêm bình luận

    • Câu trả lời của bạn
      Khi tham gia trả lời bạn phải đồng ý với các điều khoản trên web site của chúng tôi: privacy policy and terms of service.