Mô hình MVC trong java và 1 ví dụ về Shopping Cart

Màu nền
Font chữ
Font size
Chiều cao dòng

Khi làm viết 1 chương trình bước thiết kế chuơng trình là 1 bước rất quan trọng. Nó quyết định sự thành bại của project mình làm. Nếu ổ bước này thiết kế tốt thì chúng ta sẽ dễ dàng phân chia công việc trong nhóm hơn. Dễ dàng nâng cấp và sửa khi gặp Bug.
Bài viết này mình sẽ trình bày về mô hình MVC trong java, một chủ đề được bàn luận khá nhiều trên các diễn đàn khác.Bài viết này chỉ là sự tổng hợp kiến thức của cá nhân. Rất mong sự đóng góp và ủng hộ của các bạn để chúng ta hiểu rõ vấn đề này hơn.

1.Tại sao phải đưa ra mô hình MVC:
Trong quá trình lập trình với jsp chúng ta cảm thấy rất rối rắm khi thì dùng thể html, khi thì dùng taglib của jsp khi thì code toàn java trong đó
Như thế khi làm việc trong 1 nhóm hoặc dự án lớn sẽ rất khó tách bạch và phân công công việc, khó sửa khi chương trình xảy ra lỗi vì trang jsp của chúng ta hỗn độn 1 mớ các thể đòng mở của html, jsp taglib và javacode
Trước khi mô hình MVC được đưa ra người ta sử dụng sau(2 cái mô hình này khác
nhau hoàn toàn) tạm gọi mô hình này là mô hình 1

2. Định nghĩa về MVC:
Để khắc phục các khó khăn trên, người ta đưa ra mô hình 2 hay còn gọi là mô hình MVC (Model-View-Controllor). Tức là: Tương ứng với một trang JSP ngày xưa, bây giờ người ta tách nó ra làm ba thành phần: Mô hình - Khung nhìn - Bộ điều khiển. Các thành phần trên làm việc như sau:

Mô hình(MODEL): Mô hình là các lớp java có nhiệm vụ:
• Biểu diễn data và cho phép truy cập tới để get và set data trong này (Cái này còn gọi là JAVABEAN), Thường thì phần layer này mô phỏng 1 cách đầy đủ đối tượng từ thế giới thực.
• Nhận các yêu cầu từ khung nhìn
• Thi hành các yêu cầu đó (tính toán, kết nối CSDL …)
• Trả về các giá trị tính toán cho View.
Thường thì các file trong phần này là các file XXX.java gọi là java bean (khong phải là Enterprise Java Bean (cái này mình chưa tìm hiu))
Java Bean là các class mô tả đối tượng từ real-world, khi cần dùng nó chúng ta chỉ cần dùng thẻ <jsp:useBean>
Như ví dụ ở dưới chúng ta có 1 bean là CD.java, việc đưa ra các bean này còn giúp chúng ta có thể tận dụng những phuơng thức trong đối tượng mà chúng ta cần sử dụng nhìu lần.
Khung nhìn(View): Bao gồm các mã tương tự như JSP để hiển thị form nhập liệu, các kết quả trả về từ Mô hình…
Bộ điều khiển(Controller): Đồng bộ hoá giữa Khung nhìn và Mô hình. Tức là với một trang JSP này thì sẽ tương ứng với lớp java nào để xử lý nó và ngược lại, kết quả sẽ trả về trang jsp nào.Nó đóng vai trò điều tiết giữa View và Model (có thể hỉu nôm na như mấy anh cảnh sát giao thông phân luông khi xày ra tắc xe vậy  )
Như vậy, chúng ta có thể tách biệt được các mã java ra khỏi mã html. Do vậy, nó đã giải quyết được các khó khăn đã nêu ra trong Mô hình 1. Người thiết kế giao diện và người lập trình java có thể mang tính chất độc lập tương đối. Việc debug hay bảo trì sẽ dễ dàng hơn, việc thay đổi các theme của trang web cũng dễ dàng hơn …

Bạn đang đọc truyện trên: Truyen2U.Pro

#mvcjava