• Privacy Policy
  • Terms and Conditions
  • Liên hệ
Ngọc Khương
No Result
View All Result
No Result
View All Result
Ngọc Khương
No Result
View All Result

Tìm hiểu mô hình MVC (Model – View – Controller) khi lập trình web với Java

Ngọc Khương IT by Ngọc Khương IT
13/03/2017
in Java, JSP Servlet
0 0
1
Tìm hiểu mô hình MVC (Model – View – Controller) khi lập trình web với Java
0
SHARES
546
VIEWS
Share on FacebookShare on Twitter

Trong bài này, chúng ta sẽ tìm hiểu sơ qua về mô hình MVC (Model – View – Controller) trong thiết kế ứng dụng Java nói chung và trong lập trình web với Java nói riêng. Những hướng dẫn ở đây chỉ mang tính định hướng để các bạn biết về mô hình MVC, nó được vận dụng ở đâu, như thế nào. Bài viết nói không với việc đào bới sâu vào từng ngóc ngách của mô hình này như lịch sử ra đời, phát triển, được tạo ra bởi ai,… Các bạn có thể hỏi anh gồ để biết thêm chi tiết nhé.

Tìm hiểu mô hình MVC (Model - View - Controller) khi lập trình web với Java

MVC là gì?

MVC là một mẫu thiết kế nhằm mục tiêu chia tách phần giao diện và phần code của ứng dụng để dễ dàng quản lý, bảo trì và phát triển. MVC (Model – View – Controller) là một design pattern được áp dụng rộng rãi trên hầu hết các ngôn ngữ lập trình hướng đối tượng hiện nay như C++, C#, PHP,…và không thể không có Java.

MVC chia ứng dụng phần mềm ra thành 3 phần có tương tác với nhau là Model (dữ liệu), View (giao diện), Controller (tương tác với Model và View, giúp 2 phần này tám chuyện được với nhau).

Xem thêm về mô hình này trên wikipedia: Model-view-controller

Chi tiết hơn một tý

Công việc mà 3 phần của mô hình MVC đảm nhận

Model là lớp chứa thông tin đối tượng (dữ liệu), tương tác với Database.

View là giao diện của ứng dụng tương tác với người dùng.

Controller nhận yêu cầu từ người dùng, nếu dính đến dữ liệu thì gọi Model xử lý, bảo Model làm xong việc phải báo cáo, trả kết quả về cho anh. Sau đó anh chỉ việc đưa kết quả cho chị View để chị này hiển thị lên cho người dùng thấy. (Có thể nói người dùng chỉ biết đến chị View thôi, chị là bộ mặt của một ứng dụng, Model hay Controller không hề tồn tại trong mắt người dùng).

Sinh ra MVC làm gì thế?

Một công việc được giao cho nhiều người làm theo từng công đoạn khác nhau. Theo bạn công việc đó có suôn sẻ không.

Phải gọi là thúc đẩy làm nhanh hơn là đằng khác. Chưa kể đến việc hư hỏng xảy ra, anh nào làm kém chất lượng ở công đoạn nào thì bảo anh đó làm lại công đoạn đó, không hề ảnh hưởng đến công việc của những anh khác.

Mô hình MVC cũng vậy đấy 🙂

Đơn giản là chia công việc cho các phần khác nhau trong một ứng dụng. Các phần thực hiện mỗi công việc khác nhau, chỉ việc làm và trả về kết quả. Có lỗi phần nào thì sửa code phần đó, không có việc đào tung cả project lên để tìm bug. Chốt lại, dễ dàng để sửa lỗi, tìm bug, bảo trì, phát triển ứng dụng lên một tầm cao mới sau này (nghe nghiêm trọng quá 😀 )

Ví dụ dễ hình dung

Tìm hiểu mô hình MVC (Model - View - Controller) khi lập trình web với Java

Một con quỷ đang ngồi xem album nhạc Xuân Mai với tivi siêu dày thế hệ cũ được nối với đầu DVD karaoke vi tính 6 số cũng cũ luôn (à có kèm theo remote nữa).

Quỷ nhỏ muốn xem album thì chỉ việc bảo remote (Controller) nhờ đầu DVD (Model) tìm xem trong đĩa có bài nào hay không. Đầu DVD (Model) tìm xong thì hiển thị lên màn hình tivi (View). Các thiết bị có các chức năng riêng, không giành phần nhau trong công việc, đó là nếp sống văn minh 😀

Giả sử ngày tận thế đến, một giáo sư đem remote và đầu DVD gắn chung vào tivi để mang đi tránh nạn cho tiện. Chuyện gì sẽ xảy ra nếu remote lỡ hết pin?

Đơn giản, vị giáo sư kia sẽ không xem Xuân Mai được nữa, có thể giáo sư đoán được rằng remote hết pin (giáo sư mà 😀 ) nên mở cả dàn máy ra kiểm tra. Cuối cùng ông chết cũng vì mắc kẹt trong đống dây điện cả ngày để tìm remote.

Quay ngược thời gian lúc sắp tận thế

Thay vì ông cho các thiết bị vào cái thùng để mang đi, không ghép chung các thiết bị lại với nhau thì ông đã không chết (tận thế người ta chưa chết mà ông chết mất rồi). Remote hết pin thì chỉ mở tung remote ra để sửa, thay pin. Thế có phải khỏe hơn không 🙂

Mô hình MVC trong lập trình web với Java

Tìm hiểu mô hình MVC (Model - View - Controller) khi lập trình web với Java

Trong mô hình ứng dụng web thì:

  • Model sẽ là JavaBean, Enterprise JavaBean hay Web Service.
  • Các trang html, servlet, jsp,… là những thành phần đại diện cho View.
  • Cuối cùng, servlet đóng vai trò là Controller.

(servlet có thể là view hoặc controller tùy vào bạn muốn và cũng tùy trường hợp)

Đến đây bạn đã hiểu về mô hình MVC chưa. Mình chỉ hướng dẫn để bạn tiếp cận sơ qua như vậy, muốn đào sâu thì bạn có thể search thêm các từ khóa như “mô hình mvc”, “mvc trong java”, “web mvc”,…

Nếu có gì sai sót trong bài viết này, hay cần thảo luận các bạn có thể để lại comment bên dưới 🙂

Ở bài viết sau chúng ta sẽ tạo thử một web project mẫu (có ví dụ đơn giản) theo mô hình MVC trong Java để các bạn vận dụng nhé.

Cập nhật: Tạo Java web project mẫu theo mô hình MVC

0 0 vote
Article Rating
Tags: design patternJavaJava nâng caojava webMô hình MVCMVCweb mvc
Previous Post

Bài tập Java: Nối một chuỗi vào cuối chuỗi khác

Next Post

Tạo Java web project mẫu theo mô hình MVC

Next Post
Tạo Java web project mẫu theo mô hình MVC

Tạo Java web project mẫu theo mô hình MVC

Subscribe
Thông báo khi có
guest
guest
1 Comment
cũ nhất
mới nhất vote nhiều nhất
Inline Feedbacks
View all comments
Dinh Nguyen
Dinh Nguyen
4 months ago

Quỷ nhỏ muốn xem album thì chỉ việc bảo remote (Controller) nhờ đầu DVD (Model) tìm xem trong đĩa có bài nào hay không. Đầu DVD (Model) tìm xong thì hiển thị lên màn hình tivi (View). Các thiết bị có các chức năng riêng, không giành phần nhau trong công việc, đó là nếp sống văn minh

Ví dụ này mình nghĩ remote sẽ là 1 client gửi các request, đĩa DVD là Model, còn đầu DVD là controller sẽ hợp lý hơn chứ nhỉ <(“) 

0
Trả lời
wpdiscuz   wpDiscuz

Danh mục bài viết

  • Hosting Domain (1)
  • Java (68)
    • Bài tập Java (11)
    • Java Core (2)
    • Java Design Pattern (1)
    • Java Regular Expression (1)
    • JSP Servlet (16)
  • Kiến thức Linux (3)
  • Lập trình Android (4)
  • Lập trình Kotlin (4)
  • Pascal (6)
    • Bài tập Pascal (5)
  • Tutorials (5)

Bình luận mới

  • angela baby trong Bài tập Pascal – Tìm giá trị lớn nhất trong mảng một chiều
  • quan trong Tổng hợp lỗi Server Tomcat thường gặp và cách khắc phục
  • Minh trong Bài tập Pascal – Nhập ngày tháng năm sau đó tìm ngày tháng năm sau N ngày nhập vào
  • Nam trong Hướng dẫn upload (deploy) Web Java JSP Servlet lên hosting Jelastic – Phần 2: Config project và upload web lên host
  • Le duc trong Hướng dẫn upload (deploy) Web Java JSP Servlet lên hosting Jelastic – Phần 2: Config project và upload web lên host

Giới thiệu

ngockhuong.com là blog cá nhân, hoạt động với mục đích chia sẻ những kiến thức về lập trình. Chia sẻ có thể mang tính cá nhân trong đó, tuy nhiên đảm bảo chính xác và không sai lệch về nội dung.
Hiện tại sẽ tập trung vào 2 mảng kiến thức chính là Java & Android.
Hi vọng góp được chút ít công sức cho sự phát triển cộng đồng Dev Việt.

DMCA.com Protection Status

Bạn bè

Thuốc Thảo Mộc

Ngoc Khuong

Thẻ

Apache Tomcat Bài tập Java Bài tập Javacore Bài tập Java Cơ bản Bài tập Java String Bài tập Java tổng hợp Bài tập Java vẽ hình Bài tập Pascal Bài tập Pascal cơ bản Bài tập Pascal nâng cao Bài tập vẽ tam giác Cách khắc phục lỗi Tomcat Data Type directory eclipse File File tạm Học Java cơ bản Học Java nâng cao Java Java cơ bản Java IO Java nâng cao java web JSP Kiến thức Linux linux Lập trình Android Lỗi Tomcat MVC Mô hình MVC Pascal Pascal cơ bản Pascal nâng cao Project read file Servlet String temp file temporary file Thủ thuật Linux Tomcat Tomcat tutorial unix Web tin tức
  • Trang chủ
  • Liên hệ

© 2021 JNews - Premium WordPress news & magazine theme by Jegtheme.

No Result
View All Result
  • Blog
  • Home 1
  • Liên hệ
  • Privacy Policy
  • Terms and Conditions
  • Trang chủ

© 2021 JNews - Premium WordPress news & magazine theme by Jegtheme.

Welcome Back!

Login to your account below

Forgotten Password?

Create New Account!

Fill the forms bellow to register

All fields are required. Log In

Retrieve your password

Please enter your username or email address to reset your password.

Log In
wpDiscuz
1
0
Would love your thoughts, please comment.x
()
x
| Reply