Mô hình MVC là gì và cách sử dụng mô hình MVC hiệu quả

Thảo luận trong 'Lập trình phần mềm' bắt đầu bởi admin, 25/12/14.

  1. admin

    admin Phạm Công Sơn Thành viên BQT

    Tham gia ngày:
    22/5/13
    Bài viết:
    3,915
    Đã được thích:
    793
    Điểm thành tích:
    113
    Giới tính:
    Nam
    1. Mô hình MVC là gì?
    • Mô hình MVC viết tắt của chữ Model, View, Controller là một mô hình thiết kế hoặc kiến trúc dữ liệu được sử dụng trong kỹ thuật phần mềm, lập trình website.
    mo-hinh-mvc-la-gi.png
    • ASP.NET MVC là một lựa chọn thay thế cho ASP.NET webform, mô hình này xây dựng với 3 lớp chính, lớp giao diện(View), lớp đều khiển(Controllers), lớp dữ liệu(Models).
    • MVC chia mô hình lập trình thành nhiều lớp khác nhau, giúp những lập trình viên có kinh nghiệm có xây dựng cấu trúc dữ liệu chặt chẽ hơn, rõ ràng hơn.
    • Với cấu trúc này việc nâng cấp hay thay thế chức năng nào đó trở nên dễ dàng, đồng thời việc kiểm thử cũng trở nên đơn giản.
    2. Chức năng của từng lớp
    • View : Đảm nhận nhiệm vụ hiển thị thông tin, tương tác với người dùng, hay còn được gọi là lớp giao diện, nơi chứa các controll, textbox, combobox, images ... hay còn gọi một cách đơn giản là tập hợp các form nằm trong file html.
    • Controllers : Lớp điều khiển đảm việc điều hướng các yêu cầu người dùng, đưa ra các phương pháp xử lý cho các yêu cầu đó, xử lý yêu cầu,... VD: nhân 1 yêu cầu request từ đường dẫn URL và form để thao tác trực tiếp với model.
    • Model : Là nơi c hưa các code, nghiêp vụ logc, phương thức xử lý yêu cầu từ lớp Controllers đưa xuống, xử lý truy xuất database, hàm xử lý dữ liệu,...
    3. Mô hình MVC làm việc như thế nào?
    • Trước tiên người dùng(User) tương tác lên tâng giao diện View bằng cách click vào hình ảnh, link hay button, các yêu cầu của User sẽ được gửi đi cho lớp Controller.
    • Khi có yêu cầu gửi đi, lớp controller sẽ bắt yêu cầu này, xử lý, điều hướng các phương thức xử lý cho nó ở lớp Model.
    • Tại Model nhận thông tin và thực thi các yêu cầu bằng cách kết nối cơ sở dữ liệu lấy dữ liệu, hoặc xử lý ở nếu không cần kết nối cơ sở dữ liệu.
    • Khi việc hoàn tất, Model sẽ đưa kết quả trả về cho lớp View, lớp View sẽ hiển thị kết quả lại cho người dùng.
    4. Ưu và nhược điểm của mô hình MVC trong lập trình.
    • Ưu điểm : Sử dụng MVC việc bảo trì, nâng cấp cũng như xây dựng mới dễ dàng, hướng phân tích sẽ chuyên nghiệp hơn.
    • Nhược điểm : Nếu áp dụng mô hình này cho các web hay dự án nhỏ sẽ gây rắc rối phức tạp, vì các dự án nhỏ code ít không phức tạp khi sử dụng MVC sẽ làm cồng kềnh, tối thời gian xây dựng.
    Nếu bạn nào muốn tìm hiểu, cài đặt, xây dựng mô hình này từ a - z thì tham khảo tài liệu sau : Nghiên cứu mô hình MVC trong lập trình .NET để xây dựng website đăng ký mua giáo trình qua mạng
     
    Cảm ơn đã xem bài:

    Mô hình MVC là gì và cách sử dụng mô hình MVC hiệu quả

    Chỉnh sửa cuối: 1/6/15
  2. DienDanRaoVat

    DienDanRaoVat Thành Viên Thường

    Tham gia ngày:
    14/2/14
    Bài viết:
    137
    Đã được thích:
    2
    Điểm thành tích:
    18
    Kien thuc rat hay, tk ad
     
  3. nongtinh3

    nongtinh3 Thành Viên Mới

    Tham gia ngày:
    28/7/15
    Bài viết:
    9
    Đã được thích:
    0
    Điểm thành tích:
    1
    Giới tính:
    Nam
    Cái này hồi học lập trình PHP rất hay nếu muốn làm quen thì vọc cai frameword codeigniter ấy
     
  4. dachop

    dachop

    Vip Member

    Tham gia ngày:
    15/3/14
    Bài viết:
    4
    Đã được thích:
    0
    Điểm thành tích:
    1
    Mô hình này được nhiều bạn trẻ sử dụng để viết nên mã nguồn mở như mã nguồn zencms được biết đến là một mã nguồn tốt nhất hiện nay để tao wap
     
  5. jangnamsusu

    jangnamsusu Thành Viên Mới

    Tham gia ngày:
    1/10/15
    Bài viết:
    41
    Đã được thích:
    5
    Điểm thành tích:
    8
    Giới tính:
    Nữ
    mình đang dùng cakephp đang sử dụng cái nè hè. rất là hay nha, bạn nào muốn trình code giỏi thì nên học cái này nha
     
  6. pingmaxno1

    pingmaxno1

    Vip Member

    Tham gia ngày:
    17/9/15
    Bài viết:
    165
    Đã được thích:
    5
    Điểm thành tích:
    18
    Giới tính:
    Nam
    Admin cho mình hỏi, việc mình sử dụng ngôn ngữ C# (winform) làm demo 1 ứng dụng quản lý sinh viên thì đó có phải là làm theo mô hình MVC không ạ? bởi mình nghĩ đơn giản là ngôn ngữ lập trình C# nó gần như tuân thủ theo mô hình MVC
     
  7. amtec.cabinet

    amtec.cabinet Thành Viên Mới

    Tham gia ngày:
    16/7/15
    Bài viết:
    14
    Đã được thích:
    0
    Điểm thành tích:
    1
    Giới tính:
    Nam
    Mô hình MVC là như nhau đối với các ngôn ngữ lập trình khác nhau nhỉ ?
     
  8. eone234

    eone234 Thành Viên Mới

    Tham gia ngày:
    19/10/15
    Bài viết:
    17
    Đã được thích:
    0
    Điểm thành tích:
    1
    Giới tính:
    Nữ
    kiến thức rất bổ ích, thank ad
     
  9. nguyenha.cctv

    nguyenha.cctv Thành Viên Mới

    Tham gia ngày:
    26/9/15
    Bài viết:
    9
    Đã được thích:
    1
    Điểm thành tích:
    3
    Giới tính:
    Nữ
    bài viết rất bổ ích. thanks bạn
     
  10. cuahangyenmach

    cuahangyenmach

    Vip Member

    Tham gia ngày:
    18/11/15
    Bài viết:
    96
    Đã được thích:
    0
    Điểm thành tích:
    6
    Giới tính:
    Nam
    Đúng là pro mảng này có khác, em cũng đang học cntt mà gà mờ quá, thanks ad
     
  11. anhnam1990

    anhnam1990 Thành Viên Mới

    Tham gia ngày:
    15/12/15
    Bài viết:
    49
    Đã được thích:
    0
    Điểm thành tích:
    6
    Giới tính:
    Nam
    • chuyên nghiệp hơn.
    • Nhược điểm : Nếu áp dụng mô hình này cho các web hay dự án nhỏ sẽ gây rắc rối phức tạp, vì các dự án nhỏ code ít không phức tạp khi sử dụng MVC sẽ làm cồng kềnh, tối thời gian xây dựng.
     
  12. linht1106k1

    linht1106k1 Thành Viên Mới

    Tham gia ngày:
    9/12/15
    Bài viết:
    26
    Đã được thích:
    0
    Điểm thành tích:
    1
    Giới tính:
    Nam
    các bạn nên học MVC thuần rồi muốn học framework nào cũng có thể tự học được :)
     
  13. xvietsao

    xvietsao

    Vip Member

    Tham gia ngày:
    21/8/15
    Bài viết:
    47
    Đã được thích:
    1
    Điểm thành tích:
    8
    Giới tính:
    Nam
    MVC được ứng dụng phổ biến nhất hiện nay. 1 web đơn giản cũng đã chứa MVC rồi (đơn giản nhất chính là hộp contact đó).
     
  14. tungteen46

    tungteen46 Thành Viên Mới

    Tham gia ngày:
    7/3/16
    Bài viết:
    8
    Đã được thích:
    0
    Điểm thành tích:
    1
    Giới tính:
    Nam
    bài viết hữu ích quá. Tks bác chủ thớt
     
  15. HungITCVIET

    HungITCVIET Thành Viên Mới

    Tham gia ngày:
    30/11/16
    Bài viết:
    18
    Đã được thích:
    0
    Điểm thành tích:
    1
    Giới tính:
    Nam
    Mình cũng đang tìm hiểu về mô hình này. Cảm ơn bạn về bài viết nhé
     
  16. Hà Bùi

    Hà Bùi Thành Viên Mới

    Tham gia ngày:
    23/1/17
    Bài viết:
    88
    Đã được thích:
    0
    Điểm thành tích:
    6
    Giới tính:
    Nữ
    rất hữu ích ạ
     
  17. tunghk54

    tunghk54 Thành Viên Mới

    Tham gia ngày:
    29/1/17
    Bài viết:
    5
    Đã được thích:
    0
    Điểm thành tích:
    1
    Giới tính:
    Nam
    Cảm ơn bạn vì bài viết rất hay
     
  18. huanhanuan

    huanhanuan Thành Viên Mới

    Tham gia ngày:
    22/4/17
    Bài viết:
    75
    Đã được thích:
    2
    Điểm thành tích:
    8
    Giới tính:
    Nam
    tất cả các dự án lập trình mà được hướng theo mô hình MVC thì dễ cho việc quán lý dự án. nhất là đối với team lập trình thì tất cả mọi người đều quản lý tốt được công việc của mình đã làm với lại tốt cho quá trình bảo trì.
     
  19. Hoi An Travel

    Hoi An Travel Thành Viên Mới

    Tham gia ngày:
    28/4/17
    Bài viết:
    5
    Đã được thích:
    0
    Điểm thành tích:
    1
    Giới tính:
    Nam
    Đã từng học code và bây giờ đã bỏ. Cảm ơn tác giả nhiều nhé .
     
  20. tuoitretour6

    tuoitretour6 Thành Viên Mới

    Tham gia ngày:
    28/4/17
    Bài viết:
    13
    Đã được thích:
    0
    Điểm thành tích:
    1
    Giới tính:
    Nam
    kiến thức hay đầy đủ
     
  21. vn.ttquynhh

    vn.ttquynhh

    Vip Member

    Tham gia ngày:
    26/7/15
    Bài viết:
    469
    Đã được thích:
    12
    Điểm thành tích:
    18
    Giới tính:
    Nam
    Trước học asp phải nói cực kỳ nhức đầu, giờ chủ yếu WP nên thấy nhẹ hẳn thôi
     
  22. Tung_Cao_Nguyen

    Tung_Cao_Nguyen Thành Viên Mới

    Tham gia ngày:
    5/5/17
    Bài viết:
    1
    Đã được thích:
    0
    Điểm thành tích:
    1
    Giới tính:
    Nam
    Hay đó. Hồi đó có đi học lập trình các kiểu và đã bỏ. haha
     
  23. phuongnnl

    phuongnnl Thành Viên Mới

    Tham gia ngày:
    29/5/17
    Bài viết:
    21
    Đã được thích:
    0
    Điểm thành tích:
    1
    Giới tính:
    Nữ
    Giờ không chỉ java mà cả PHP, các ngôn ngữ lập trình web đều sử dụng mô hình MVC hết
     


Like và Share ủng hộ ITSEOVN