SlideShare une entreprise Scribd logo
1  sur  20
MÔ HÌNH MVC
MÔ HÌNH MVC
Đặt vấn đề
Giới thiệu tổng quan mô hình MVC
Demo
Một số Framework sử dụng MVC
Nội Dung
Đ.Huy
- Khi làm việc trong 1 nhóm hoặc 1 dự án lớn sẽ rất khó tách
biệt và phân công công việc giữa từng thành viên.
- Việc bảo trì chúng thường rất khó khăn, vì các đoạn code
java lẫn lộn với các đoạn mã html.
- Khi có lỗi xảy ra, việc tìm ra lỗi và định vị lỗi cũng là một vấn
đề khó khăn.
- Và còn nhiều những khó khăn khác …
MÔ HÌNH MVC Đ.Huy
Đặt vấn đề
 Việc lập trình như trên, người ta gọi là mô hình lập trình 1, hay
là mô hình lập trình cổ điển.
MÔ HÌNH MVC
Đặt vấn đề
Đ.Huy
 Để 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 trong mô hình 1, 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
MÔ HÌNH MVC
Đặt vấn đề
Đ.Huy
- Lịch sử hình thành.
- Khái niệm.
- Cơ chế hoạt động.
- So sánh MVC với 3-Layers (MH 3 lớp)
- Lợi ích.
- Ưu – Nhược điểm.
MÔ HÌNH MVC
Giới thiệu tổng quan mô hình MVC
Đ.Huy
Lịch sử hình thành
MÔ HÌNH MVC
Giới thiệu tổng
quan mô hình MVC
MVC được phát minh bởi 1 giáo sư người Na Uy tên là
Trygve Reenskaug và được ông công bố, trình bày ngày
10/12/1979 tại phòng thí nghiệm Xerox PARC ở Palo Alto.
Đ.Huy
- Ý niệm chính của mô hình MVC là tách biệt phần ánh xạ, lưu trữ và xử lý dữ liệu
(model) với thành phần trình bày giao diện kết quả cho người dùng hay phần giao
diện giúp đón nhận dữ liệu nhập xuất cho người dùng (View).
- Ý niệm trên cho phép người lập trình có thể tách biệt công việc trong quá trình
xây dựng chức năng và xây dựng giao diện cho người dùng.
- Bên cạnh đó, ý niệm trên cho phép việc thay đổi thành phần của dữ liệu (Model)
sẽ không ảnh hưởng nhiều đến giao diện (View) của người dùng.
- Tuy nhiên, một ứng dụng có thể có rất nhiều Model và nhiều View, do vậy, mô
hình cần có một thành phần lựa chọn và kết nối các thành phần này lại với nhau
theo cách hiệu quả nhất mà người ta gọi là Controller.
MÔ HÌNH MVC
Khái niệm
Giới thiệu tổng
quan mô hình MVC
Đ.Huy
 Ví dụ thực tế:
MÔ HÌNH MVC
Khái niệm
Giới thiệu tổng
quan mô hình MVC
Đ.Huy
 Định nghĩa các thành phần trong mô hình MVC:
MÔ HÌNH MVC
- Model (Mô hình): Mô hình là các lớp java có nhiệm vụ
+ Nhận các yêu cầu từ View.
+ Thực thi 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.
- View (Khung nhìn): 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ừ Model…
- Controller (Bộ điều khiển): Đồng bộ hoá giữa Khung nhìn (View) và
Mô hình (Model). Tức là Controller sẽ xác định với một trang JSP này
thì sẽ tương ứng với lớp java nào đó trong Model để xử lý nó và
ngược lại, kết quả sẽ trả về trang jsp nào.
Khái niệm
Giới thiệu tổng
quan mô hình MVC
Đ.Huy
 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 …
MÔ HÌNH MVC
Khái niệm
Giới thiệu tổng
quan mô hình MVC
Đ.Huy
MÔ HÌNH MVC
Cơ chế hoạt động
Giới thiệu tổng
quan mô hình MVC
Đ.Huy
MÔ HÌNH MVC
So Sánh MVC và 3-Layers
Giới thiệu tổng
quan mô hình MVC
Đ.Huy
Giống nhau:
MÔ HÌNH MVC
- Cả hai đều để tách rời programming core/business
logic ra khỏi những phụ thuộc về tài nguyên và môi
trường.
- Trong một ứng dụng nhỏ, MVC thể hiện thế nào?
Presentation thể hiện giống như chức năng của View
và Controller. Business và Database thể hiện giống như
chức năng của Model. Như thế nhìn ở góc độ này, thì
MVC tương đương với 3-layer.
So Sánh MVC và 3-Layers
Giới thiệu tổng
quan mô hình MVC
Đ.Huy
Khác nhau:
MÔ HÌNH MVC
- Trong 3-layers, quá trình đi theo chiều dọc, bắt đầu từ
Presentation Layer, sang Business Layer, rồi tới Data Access
Layer, và từ Data Access Layer, chạy ngược lại Business
Layer rồi quay ra lại Presentation Layer.
- Còn MVC xử lý theo mô hình tam giác, Model- Controller -
View sẽ thực thị các thao tác xử lý với nhau mà không cần
phải qua 1 lượt tất cả các tầng. Việc này tạo ra tính linh hoạt
hơn.
So Sánh MVC và 3-Layers
Giới thiệu tổng
quan mô hình MVC
Đ.Huy
+ Tách biệt sự phụ thuộc giữa các thành phần.
+ Chuyên môn phát triển và tập trung.
+ Phát triển song song các nhóm riêng biệt.
MÔ HÌNH MVC
Lợi ích
Giới thiệu tổng
quan mô hình MVC
Đ.Huy
MÔ HÌNH MVC
Ưu điểm: Phát triển phần mềm chuyện nghiệp hơn có thể chia công
việc cho nhiều nhóm: nhóm thiết kế, nhóm lập trình, nhóm
tổ chức database… giúp phát triển ứng dụng nhanh đơn
giản dễ nâng cấp giúp phát hiện lỗi và dễ sửa lỗi.
Nhược điểm: Thích hợp với các dự án vừa và lớn còn đối với các dự
án nhỏ việc áp dụng mô hình mvc sẽ gây cồng kềnh tốn
thời gian trong quá trình phát triển.
Ưu – Nhược điểm
Giới thiệu tổng
quan mô hình MVC
Đ.Huy
+ ASP.NET MVC Framework
+ Zend Framework
+ Spring web MVC framework
+ SMALLTALK
MÔ HÌNH MVC
Một số Framework
sử dụng MVC
Đ.Huy
MÔ HÌNH MVC
Demo
Đ.Huy
Xin cảm ơn
^.^~

Contenu connexe

Tendances

Slide đồ án tốt nghiệp
Slide đồ án tốt nghiệpSlide đồ án tốt nghiệp
Slide đồ án tốt nghiệpToan Pham
 
Slide báo cáo đồ án tốt nghiệp "Website cửa hàng điện thoại trực tuyến"
Slide báo cáo đồ án tốt nghiệp "Website cửa hàng điện thoại trực tuyến"Slide báo cáo đồ án tốt nghiệp "Website cửa hàng điện thoại trực tuyến"
Slide báo cáo đồ án tốt nghiệp "Website cửa hàng điện thoại trực tuyến"Tú Cao
 
báo cáo hệ quản trị cơ sỡ dữ liệu hệ thống bán cà phê
báo cáo hệ quản trị cơ sỡ dữ liệu hệ thống bán cà phêbáo cáo hệ quản trị cơ sỡ dữ liệu hệ thống bán cà phê
báo cáo hệ quản trị cơ sỡ dữ liệu hệ thống bán cà phêthuhuynhphonegap
 
Hệ thống thông tin quản lý-website tin tức nhà đất
Hệ thống thông tin quản lý-website tin tức nhà đấtHệ thống thông tin quản lý-website tin tức nhà đất
Hệ thống thông tin quản lý-website tin tức nhà đấtKali Back Tracker
 
đồ áN xây dựng ứng dụng website tin tức
đồ áN xây dựng ứng dụng website tin tứcđồ áN xây dựng ứng dụng website tin tức
đồ áN xây dựng ứng dụng website tin tứcnataliej4
 
Báo cáo SQL injecttion
Báo cáo SQL injecttionBáo cáo SQL injecttion
Báo cáo SQL injecttionDuy Nguyenduc
 
Xây dựng biểu đồ use case
Xây dựng biểu đồ use caseXây dựng biểu đồ use case
Xây dựng biểu đồ use caseTrung Chinh Hà
 
Phân tích và thiết kế hệ thống quản lý bán hàng
Phân tích và thiết kế hệ thống quản lý bán hàngPhân tích và thiết kế hệ thống quản lý bán hàng
Phân tích và thiết kế hệ thống quản lý bán hàngleemindinh
 
Huong dan thi nghiem wireshark
Huong dan thi nghiem wiresharkHuong dan thi nghiem wireshark
Huong dan thi nghiem wiresharkhien tran
 
Xây dựng hệ thống quản lý sân bóng sử dụng Yii Framework
Xây dựng hệ thống quản lý sân bóng sử dụng Yii FrameworkXây dựng hệ thống quản lý sân bóng sử dụng Yii Framework
Xây dựng hệ thống quản lý sân bóng sử dụng Yii FrameworkGMO-Z.com Vietnam Lab Center
 
Bao cao wesite bán giày.docx
Bao cao wesite bán giày.docxBao cao wesite bán giày.docx
Bao cao wesite bán giày.docxssuser11005a
 
Phân tích và thiết kế hệ thống quản lý quán Internet
Phân tích và thiết kế hệ thống quản lý quán InternetPhân tích và thiết kế hệ thống quản lý quán Internet
Phân tích và thiết kế hệ thống quản lý quán Internetnataliej4
 
Đồ án kiểm thử phần mềm
Đồ án kiểm thử phần mềmĐồ án kiểm thử phần mềm
Đồ án kiểm thử phần mềmNguyễn Anh
 
lý thuyết cơ sở dữ liệu phân tán
lý thuyết cơ sở dữ liệu phân tánlý thuyết cơ sở dữ liệu phân tán
lý thuyết cơ sở dữ liệu phân tánNgo Trung
 
Thiết kế csdl quản lý nhân sự
Thiết kế csdl quản lý nhân sựThiết kế csdl quản lý nhân sự
Thiết kế csdl quản lý nhân sựleemindinh
 

Tendances (20)

Slide đồ án tốt nghiệp
Slide đồ án tốt nghiệpSlide đồ án tốt nghiệp
Slide đồ án tốt nghiệp
 
Slide báo cáo đồ án tốt nghiệp "Website cửa hàng điện thoại trực tuyến"
Slide báo cáo đồ án tốt nghiệp "Website cửa hàng điện thoại trực tuyến"Slide báo cáo đồ án tốt nghiệp "Website cửa hàng điện thoại trực tuyến"
Slide báo cáo đồ án tốt nghiệp "Website cửa hàng điện thoại trực tuyến"
 
Danh Sách 200 Đề Tài Báo Cáo Thực Tập Khoa Học Máy Tính Chọn Lọc
Danh Sách 200 Đề Tài Báo Cáo Thực Tập Khoa Học Máy Tính Chọn LọcDanh Sách 200 Đề Tài Báo Cáo Thực Tập Khoa Học Máy Tính Chọn Lọc
Danh Sách 200 Đề Tài Báo Cáo Thực Tập Khoa Học Máy Tính Chọn Lọc
 
báo cáo hệ quản trị cơ sỡ dữ liệu hệ thống bán cà phê
báo cáo hệ quản trị cơ sỡ dữ liệu hệ thống bán cà phêbáo cáo hệ quản trị cơ sỡ dữ liệu hệ thống bán cà phê
báo cáo hệ quản trị cơ sỡ dữ liệu hệ thống bán cà phê
 
Hệ thống thông tin quản lý-website tin tức nhà đất
Hệ thống thông tin quản lý-website tin tức nhà đấtHệ thống thông tin quản lý-website tin tức nhà đất
Hệ thống thông tin quản lý-website tin tức nhà đất
 
đồ áN xây dựng ứng dụng website tin tức
đồ áN xây dựng ứng dụng website tin tứcđồ áN xây dựng ứng dụng website tin tức
đồ áN xây dựng ứng dụng website tin tức
 
Báo cáo SQL injecttion
Báo cáo SQL injecttionBáo cáo SQL injecttion
Báo cáo SQL injecttion
 
Xây dựng biểu đồ use case
Xây dựng biểu đồ use caseXây dựng biểu đồ use case
Xây dựng biểu đồ use case
 
Đề tài: Xây dựng website bán hàng trực tuyến, HAY
Đề tài: Xây dựng website bán hàng trực tuyến, HAYĐề tài: Xây dựng website bán hàng trực tuyến, HAY
Đề tài: Xây dựng website bán hàng trực tuyến, HAY
 
Bai1
Bai1Bai1
Bai1
 
Báo cáo Quản lý dự án phần mềm PTIT
Báo cáo Quản lý dự án phần mềm PTITBáo cáo Quản lý dự án phần mềm PTIT
Báo cáo Quản lý dự án phần mềm PTIT
 
Phân tích và thiết kế hệ thống quản lý bán hàng
Phân tích và thiết kế hệ thống quản lý bán hàngPhân tích và thiết kế hệ thống quản lý bán hàng
Phân tích và thiết kế hệ thống quản lý bán hàng
 
Huong dan thi nghiem wireshark
Huong dan thi nghiem wiresharkHuong dan thi nghiem wireshark
Huong dan thi nghiem wireshark
 
Đề tài: Phần mềm quản lý thông tin sinh viên, HOT, 9đ
Đề tài: Phần mềm quản lý thông tin sinh viên, HOT, 9đĐề tài: Phần mềm quản lý thông tin sinh viên, HOT, 9đ
Đề tài: Phần mềm quản lý thông tin sinh viên, HOT, 9đ
 
Xây dựng hệ thống quản lý sân bóng sử dụng Yii Framework
Xây dựng hệ thống quản lý sân bóng sử dụng Yii FrameworkXây dựng hệ thống quản lý sân bóng sử dụng Yii Framework
Xây dựng hệ thống quản lý sân bóng sử dụng Yii Framework
 
Bao cao wesite bán giày.docx
Bao cao wesite bán giày.docxBao cao wesite bán giày.docx
Bao cao wesite bán giày.docx
 
Phân tích và thiết kế hệ thống quản lý quán Internet
Phân tích và thiết kế hệ thống quản lý quán InternetPhân tích và thiết kế hệ thống quản lý quán Internet
Phân tích và thiết kế hệ thống quản lý quán Internet
 
Đồ án kiểm thử phần mềm
Đồ án kiểm thử phần mềmĐồ án kiểm thử phần mềm
Đồ án kiểm thử phần mềm
 
lý thuyết cơ sở dữ liệu phân tán
lý thuyết cơ sở dữ liệu phân tánlý thuyết cơ sở dữ liệu phân tán
lý thuyết cơ sở dữ liệu phân tán
 
Thiết kế csdl quản lý nhân sự
Thiết kế csdl quản lý nhân sựThiết kế csdl quản lý nhân sự
Thiết kế csdl quản lý nhân sự
 

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

Tổng quan về struts framework, mvc
Tổng quan về struts framework, mvc  Tổng quan về struts framework, mvc
Tổng quan về struts framework, mvc truong nguyen
 
Asp.net mvc framework qua cac vi du
Asp.net mvc framework  qua cac vi duAsp.net mvc framework  qua cac vi du
Asp.net mvc framework qua cac vi duKim Hyun Hai
 
01 chuong01tongquanveasp netmvc5
01 chuong01tongquanveasp netmvc501 chuong01tongquanveasp netmvc5
01 chuong01tongquanveasp netmvc5Thanh Nguyen
 
Thương mại điện tử
Thương  mại điện tửThương  mại điện tử
Thương mại điện tửgacon2009
 
Spring mvc
Spring mvcSpring mvc
Spring mvcBa Big
 
Asp.net mvc 3 (c#) (9 tutorials) egroups vn
Asp.net mvc 3 (c#) (9 tutorials)   egroups vnAsp.net mvc 3 (c#) (9 tutorials)   egroups vn
Asp.net mvc 3 (c#) (9 tutorials) egroups vnNguyen Van Hung
 
429157477-Slide-Bao-Cao.pdf
429157477-Slide-Bao-Cao.pdf429157477-Slide-Bao-Cao.pdf
429157477-Slide-Bao-Cao.pdfToNguyen16
 
ASP.NET OverView
ASP.NET OverViewASP.NET OverView
ASP.NET OverViewNăm Tàn
 
Lập trình hướng đối tượng Chương 6 Design Pattern.pptx
Lập trình hướng đối tượng Chương 6 Design Pattern.pptxLập trình hướng đối tượng Chương 6 Design Pattern.pptx
Lập trình hướng đối tượng Chương 6 Design Pattern.pptxLmTrn286060
 
Lập trình hướng đối tượng Chương 6 Design Pattern.pptx
Lập trình hướng đối tượng Chương 6 Design Pattern.pptxLập trình hướng đối tượng Chương 6 Design Pattern.pptx
Lập trình hướng đối tượng Chương 6 Design Pattern.pptxLmTrn286060
 
Book storeonline it-slideshares.blogspot.com
Book storeonline it-slideshares.blogspot.comBook storeonline it-slideshares.blogspot.com
Book storeonline it-slideshares.blogspot.comphanleson
 
Sức mạnh của jsf 2, phần 2 tạo khuôn mẫu và các thành phần phức hợp
Sức mạnh của jsf 2, phần 2 tạo khuôn mẫu và các thành phần phức hợpSức mạnh của jsf 2, phần 2 tạo khuôn mẫu và các thành phần phức hợp
Sức mạnh của jsf 2, phần 2 tạo khuôn mẫu và các thành phần phức hợpTuyet Tam
 
Bai2 tong quan_mvc_0567
Bai2 tong quan_mvc_0567Bai2 tong quan_mvc_0567
Bai2 tong quan_mvc_0567Ham Chơi
 
Lập trình web asp.net MVC
Lập trình web asp.net MVCLập trình web asp.net MVC
Lập trình web asp.net MVCMasterCode.vn
 
Spring framework
Spring frameworkSpring framework
Spring frameworkAn Nguyen
 
lap-trinh-huong-doi-tuong_nguyen-manh-son_lthdt_ptit - [cuuduongthancong.com]...
lap-trinh-huong-doi-tuong_nguyen-manh-son_lthdt_ptit - [cuuduongthancong.com]...lap-trinh-huong-doi-tuong_nguyen-manh-son_lthdt_ptit - [cuuduongthancong.com]...
lap-trinh-huong-doi-tuong_nguyen-manh-son_lthdt_ptit - [cuuduongthancong.com]...tPhan78
 

Similaire à Mô hình MVC trong lập trình web với Java (20)

Tổng quan về struts framework, mvc
Tổng quan về struts framework, mvc  Tổng quan về struts framework, mvc
Tổng quan về struts framework, mvc
 
Mvc 3
Mvc 3Mvc 3
Mvc 3
 
Asp.net mvc framework qua cac vi du
Asp.net mvc framework  qua cac vi duAsp.net mvc framework  qua cac vi du
Asp.net mvc framework qua cac vi du
 
Aspnet 3.5_03
Aspnet 3.5_03Aspnet 3.5_03
Aspnet 3.5_03
 
01 chuong01tongquanveasp netmvc5
01 chuong01tongquanveasp netmvc501 chuong01tongquanveasp netmvc5
01 chuong01tongquanveasp netmvc5
 
Thương mại điện tử
Thương  mại điện tửThương  mại điện tử
Thương mại điện tử
 
Spring mvc
Spring mvcSpring mvc
Spring mvc
 
Asp.net mvc 3 (c#) (9 tutorials) egroups vn
Asp.net mvc 3 (c#) (9 tutorials)   egroups vnAsp.net mvc 3 (c#) (9 tutorials)   egroups vn
Asp.net mvc 3 (c#) (9 tutorials) egroups vn
 
429157477-Slide-Bao-Cao.pdf
429157477-Slide-Bao-Cao.pdf429157477-Slide-Bao-Cao.pdf
429157477-Slide-Bao-Cao.pdf
 
ASP.NET OverView
ASP.NET OverViewASP.NET OverView
ASP.NET OverView
 
Lập trình hướng đối tượng Chương 6 Design Pattern.pptx
Lập trình hướng đối tượng Chương 6 Design Pattern.pptxLập trình hướng đối tượng Chương 6 Design Pattern.pptx
Lập trình hướng đối tượng Chương 6 Design Pattern.pptx
 
Lập trình hướng đối tượng Chương 6 Design Pattern.pptx
Lập trình hướng đối tượng Chương 6 Design Pattern.pptxLập trình hướng đối tượng Chương 6 Design Pattern.pptx
Lập trình hướng đối tượng Chương 6 Design Pattern.pptx
 
Book storeonline it-slideshares.blogspot.com
Book storeonline it-slideshares.blogspot.comBook storeonline it-slideshares.blogspot.com
Book storeonline it-slideshares.blogspot.com
 
Mo hinh-3-lop
Mo hinh-3-lopMo hinh-3-lop
Mo hinh-3-lop
 
Sức mạnh của jsf 2, phần 2 tạo khuôn mẫu và các thành phần phức hợp
Sức mạnh của jsf 2, phần 2 tạo khuôn mẫu và các thành phần phức hợpSức mạnh của jsf 2, phần 2 tạo khuôn mẫu và các thành phần phức hợp
Sức mạnh của jsf 2, phần 2 tạo khuôn mẫu và các thành phần phức hợp
 
Bai2 tong quan_mvc_0567
Bai2 tong quan_mvc_0567Bai2 tong quan_mvc_0567
Bai2 tong quan_mvc_0567
 
Lập trình web asp.net MVC
Lập trình web asp.net MVCLập trình web asp.net MVC
Lập trình web asp.net MVC
 
Spring framework
Spring frameworkSpring framework
Spring framework
 
Yii
YiiYii
Yii
 
lap-trinh-huong-doi-tuong_nguyen-manh-son_lthdt_ptit - [cuuduongthancong.com]...
lap-trinh-huong-doi-tuong_nguyen-manh-son_lthdt_ptit - [cuuduongthancong.com]...lap-trinh-huong-doi-tuong_nguyen-manh-son_lthdt_ptit - [cuuduongthancong.com]...
lap-trinh-huong-doi-tuong_nguyen-manh-son_lthdt_ptit - [cuuduongthancong.com]...
 

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

  • 2. MÔ HÌNH MVC Đặt vấn đề Giới thiệu tổng quan mô hình MVC Demo Một số Framework sử dụng MVC Nội Dung Đ.Huy
  • 3. - Khi làm việc trong 1 nhóm hoặc 1 dự án lớn sẽ rất khó tách biệt và phân công công việc giữa từng thành viên. - Việc bảo trì chúng thường rất khó khăn, vì các đoạn code java lẫn lộn với các đoạn mã html. - Khi có lỗi xảy ra, việc tìm ra lỗi và định vị lỗi cũng là một vấn đề khó khăn. - Và còn nhiều những khó khăn khác … MÔ HÌNH MVC Đ.Huy Đặt vấn đề
  • 4.  Việc lập trình như trên, người ta gọi là mô hình lập trình 1, hay là mô hình lập trình cổ điển. MÔ HÌNH MVC Đặt vấn đề Đ.Huy
  • 5.  Để 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 trong mô hình 1, 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 MÔ HÌNH MVC Đặt vấn đề Đ.Huy
  • 6. - Lịch sử hình thành. - Khái niệm. - Cơ chế hoạt động. - So sánh MVC với 3-Layers (MH 3 lớp) - Lợi ích. - Ưu – Nhược điểm. MÔ HÌNH MVC Giới thiệu tổng quan mô hình MVC Đ.Huy
  • 7. Lịch sử hình thành MÔ HÌNH MVC Giới thiệu tổng quan mô hình MVC MVC được phát minh bởi 1 giáo sư người Na Uy tên là Trygve Reenskaug và được ông công bố, trình bày ngày 10/12/1979 tại phòng thí nghiệm Xerox PARC ở Palo Alto. Đ.Huy
  • 8. - Ý niệm chính của mô hình MVC là tách biệt phần ánh xạ, lưu trữ và xử lý dữ liệu (model) với thành phần trình bày giao diện kết quả cho người dùng hay phần giao diện giúp đón nhận dữ liệu nhập xuất cho người dùng (View). - Ý niệm trên cho phép người lập trình có thể tách biệt công việc trong quá trình xây dựng chức năng và xây dựng giao diện cho người dùng. - Bên cạnh đó, ý niệm trên cho phép việc thay đổi thành phần của dữ liệu (Model) sẽ không ảnh hưởng nhiều đến giao diện (View) của người dùng. - Tuy nhiên, một ứng dụng có thể có rất nhiều Model và nhiều View, do vậy, mô hình cần có một thành phần lựa chọn và kết nối các thành phần này lại với nhau theo cách hiệu quả nhất mà người ta gọi là Controller. MÔ HÌNH MVC Khái niệm Giới thiệu tổng quan mô hình MVC Đ.Huy
  • 9.  Ví dụ thực tế: MÔ HÌNH MVC Khái niệm Giới thiệu tổng quan mô hình MVC Đ.Huy
  • 10.  Định nghĩa các thành phần trong mô hình MVC: MÔ HÌNH MVC - Model (Mô hình): Mô hình là các lớp java có nhiệm vụ + Nhận các yêu cầu từ View. + Thực thi 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. - View (Khung nhìn): 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ừ Model… - Controller (Bộ điều khiển): Đồng bộ hoá giữa Khung nhìn (View) và Mô hình (Model). Tức là Controller sẽ xác định với một trang JSP này thì sẽ tương ứng với lớp java nào đó trong Model để xử lý nó và ngược lại, kết quả sẽ trả về trang jsp nào. Khái niệm Giới thiệu tổng quan mô hình MVC Đ.Huy
  • 11.  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 … MÔ HÌNH MVC Khái niệm Giới thiệu tổng quan mô hình MVC Đ.Huy
  • 12. MÔ HÌNH MVC Cơ chế hoạt động Giới thiệu tổng quan mô hình MVC Đ.Huy
  • 13. MÔ HÌNH MVC So Sánh MVC và 3-Layers Giới thiệu tổng quan mô hình MVC Đ.Huy
  • 14. Giống nhau: MÔ HÌNH MVC - Cả hai đều để tách rời programming core/business logic ra khỏi những phụ thuộc về tài nguyên và môi trường. - Trong một ứng dụng nhỏ, MVC thể hiện thế nào? Presentation thể hiện giống như chức năng của View và Controller. Business và Database thể hiện giống như chức năng của Model. Như thế nhìn ở góc độ này, thì MVC tương đương với 3-layer. So Sánh MVC và 3-Layers Giới thiệu tổng quan mô hình MVC Đ.Huy
  • 15. Khác nhau: MÔ HÌNH MVC - Trong 3-layers, quá trình đi theo chiều dọc, bắt đầu từ Presentation Layer, sang Business Layer, rồi tới Data Access Layer, và từ Data Access Layer, chạy ngược lại Business Layer rồi quay ra lại Presentation Layer. - Còn MVC xử lý theo mô hình tam giác, Model- Controller - View sẽ thực thị các thao tác xử lý với nhau mà không cần phải qua 1 lượt tất cả các tầng. Việc này tạo ra tính linh hoạt hơn. So Sánh MVC và 3-Layers Giới thiệu tổng quan mô hình MVC Đ.Huy
  • 16. + Tách biệt sự phụ thuộc giữa các thành phần. + Chuyên môn phát triển và tập trung. + Phát triển song song các nhóm riêng biệt. MÔ HÌNH MVC Lợi ích Giới thiệu tổng quan mô hình MVC Đ.Huy
  • 17. MÔ HÌNH MVC Ưu điểm: Phát triển phần mềm chuyện nghiệp hơn có thể chia công việc cho nhiều nhóm: nhóm thiết kế, nhóm lập trình, nhóm tổ chức database… giúp phát triển ứng dụng nhanh đơn giản dễ nâng cấp giúp phát hiện lỗi và dễ sửa lỗi. Nhược điểm: Thích hợp với các dự án vừa và lớn còn đối với các dự án nhỏ việc áp dụng mô hình mvc sẽ gây cồng kềnh tốn thời gian trong quá trình phát triển. Ưu – Nhược điểm Giới thiệu tổng quan mô hình MVC Đ.Huy
  • 18. + ASP.NET MVC Framework + Zend Framework + Spring web MVC framework + SMALLTALK MÔ HÌNH MVC Một số Framework sử dụng MVC Đ.Huy