Giáo trình Lập trình viên mã nguồn mở PHP - Module 4, Bài 1: Mô hình MVC

MÔ hình MVC

□ Ưu điểm và nhược điểm của mô hình MVC

• Ưu điểm

Phát triển phần mềm: chuyên nghiệp hóa, có thể chia công việc cho nhiều nhóm chuyên môn khác nhau: 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.

• Bảo trì: Với các IÓ'P được phân chia, các thành phần của một hệ thống dễ được thay đổi, nhưng sự thay đổi có thế được cô lập trong từng lớp, hoặc chỉ ảnh hưởng đến lớp ngay gần kề của nó, chứ không làm ảnh hưởng cả chương trình.

• Mở rộng: Việc thêm chức năng vào cho từng lớp sẽ dễ dàng hơn là phân chia theo cách khác.

 

docx 19 trang kimcuc 10500
Bạn đang xem tài liệu "Giáo trình Lập trình viên mã nguồn mở PHP - Module 4, Bài 1: Mô hình MVC", để tải tài liệu gốc về máy hãy click vào nút Download ở trên

Tóm tắt nội dung tài liệu: Giáo trình Lập trình viên mã nguồn mở PHP - Module 4, Bài 1: Mô hình MVC

Giáo trình Lập trình viên mã nguồn mở PHP - Module 4, Bài 1: Mô hình MVC
gẵ ™NG TAM TIN HỌC	
LẬP TRÌNH VIÊN MÃ NGUỒN MỞ PHP
■
Module 4
Click vào phụ lục để chuyển tới bài cần đọc
Phụ lục
__ CMC
VMediaFire
LTV MÃ NGUỒN MỜ PHP
Module 4 - Bài 1: Mô hình MVC
Ngành LT & CSDL
www.t3h.vn
2014
Trường ĐH Khoa Học Tự Nhiên Tp. Hồ Chi Minh TRUNG TÂM TIN HỌC
Mô hình MVC
□ Lịch sử MVC
Được đưa ra bởi các nhá nghiên cứu tại phòng thí nghiệm Xerox PARC Palo Alto, dựa trên Ngôn ngữ lập trình Smalltalk - lập trình theo hướng đối tượng và giao điện đồ họa GUI, công bố cuối những năm 70 đầu những năm 80.
Thế hệ tiếp theo của MVC xuất hiện cùng với hệ điều hành NeXT và các phần mềm của nó.
(MC
VMediaFire
lift
Kiến trúc này ngày càng được phát triền và hoàn thiện nhằm giải quyết các vắn đề phát sinh cũng như các giải pháp cho quá trình phát triển phần mềm. Vì vậy sau đó, lần lượt các MVC framework ra đời dựa trên mô hình MVC như: Codeigniter, Zend...
M	 LTV Mã nguồn mờ PHP - Module 4	3
Mô hình MVC
□Giới thiệu mô hình MVC
• MVC (Model - View - Controller): là một design pattern, theo hướng đối tượng, cho phép developer có thể chia nhỏ code của mình ra thành 3 phần:
Model: duy trì dữ liệu và các business rule
View: hiển thị dữ liệu và các thành phần trong giao diện người dùng
Controller: điều khiển các sự kiện của người dùng có ảnh hưởng đến Model và View
LTV Mã nguồn mờ PHP - Module 4
MÔ hình MVC
□Giới thiệu mô hình MVC
user
Người dùng tương tác (bằng cách click vào link hoặc submit
model
manipulates controller sệ điều
khiển hoạt động này và đưa ra hành động thích hợp (thao tác tới model và cập nhật view)
LTV Mã nguồn mờ PHP - Module 4
Mô hình MVC
□Giới thiệu mô hình MVC
•Trong đó:
Controller: có thể gửi yêu cầu đến View liên kết của nó để thay đổi hiển thị trên View, cũng có thể gửi yêu cầu đến model để cập nhật trạng thái của model.
Model: thông báo đến các View và Controller có liên quan khi có thay đổi trạng thái. Thông báo này cho phép các View tạo ra các hiển thị được cập nhật và cho phép các Controller thay đổi các command
View: yêu cầu Model gửi các thông tin mà nó cần để tạo ra các hiển thị trên View.
LTV Mã nguồn mờ PHP - Module 4
MÔ hình MVC
□ Ưu điểm và nhược điểm của mô hình MVC
• Ưu điểm
■ Phát triển phần mềm: chuyên nghiệp hóa, có thể chia công việc cho nhiều nhóm chuyên môn khác nhau: 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.
Bảo trì: Với các IÓ'P được phân chia, các thành phần của một hệ thống dễ được thay đổi, nhưng sự thay đổi có thế được cô lập trong từng lớp, hoặc chỉ ảnh hưởng đến lớp ngay gần kề của nó, chứ không làm ảnh hưởng cả chương trình.
Mở rộng: Việc thêm chức năng vào cho từng lớp sẽ dễ dàng hơn là phân chia theo cách khác.
LTV Mã nguồn mờ PHP - Module 4
Mô hình MVC □ ưu điểm và nhược điểm của mô hình MVC
• Nhược điểm
■Thích hợp với dự án vừa và lớn còn đối với 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.
■Tốn thời gian trung chuyển dữ liệu giữa các lớp
LTV Mã nguồn mờ PHP - Module 4
MÔ hình MVC □ Lý do nên làm việc theo mô hình MVC
•Vì mô hình MVC đã chia ứng dụng thành M, V và c nên developer có thể tạo ra nhiều view và nhiều cotroller cho các model mà không phải đối mặt với việc thay đổi trong thiết kế model.
=> Giúp cho việc duy trì, di chuyển và tổ chức ứng dụng dễ dàng hơn.
LTV Mã nguồn mờ PHP - Module 4
10
11
Mô hình MVC
□ Lý do nên làm việc theo mô hình MVC
•Đối với những người mới thì việc xây dựng ứng dụng dựa trên mồ hình MVC phức tạp và lãng phí vì công việc này như là xây dựng một dự án lớn, tuy nhiên “bí mật” của MVC pattern không nằm ở chỗ viết code mà ở chỗ duy trì nó.
• Cho phép sửa đổi code mà không ảnh hưởng nhiều đến các thành phần khác.
LTV Mã nguồn mờ PHP - Module 4
MÔ hình MVC
□ Lý do nên làm việc theo mô hình MVC
• Cho phép việc làm việc nhóm trở nên dễ dàng hơn vì nhóm nào sẽ làm việc của nhóm đó dựa trên thế mạnh của mình.
Nhóm View Team sẽ chịu trách nhiệm về việc thực hiện các View
Nhóm Model Team sẽ lo về mặt dữ liệu
Nhóm Controller Team sẽ có cái nhìn tổng thẻ về các luồng của ứng dụng, quản lý các yêu cầu, làm việc với các model và lựa chọn View hiển thị cho khách hàng.
LTV Mã nguồn mờ PHP - Module 4
Xây dựng ứng dụng theo mô hình MVC
□Xây dựng Model
•Thường thì nên xây dựng Model trước bởi vì Model phục vụ như là nền tảng dữ liệu cho toàn bộ ứng dụng web;
• Nhiều chức năng của Controller phụ thuộc vào model.
•Trong Model sẽ có các phương thức xử lý liên quan đến dữ liệu: dữ liệu trực tiếp hoặc 	 dữ liệu lấy từ CSDL
pa
M	 LTV Mã nguồn mờ PHP - Module 4	13
Xây dựng ứng dụng theo mô hình MVC
□Xây dựng Model
• Ví dụ: Hiển thị sách có trong danh mục sách: dạng danh mục sách và dạng hiển thị từng sách theo lựa chọn của người dùng.
List of Books
Till*
Author
Jungle Book
R Kipling
Professional CodeXgmter
Thomas Mayer
■
Some Smart Guy
Danh mục sách
Hiển thị chi tiết sách theo lựa chọn của người dùng
Detail ofb()ớk
Tide Professional Codelgnỉter
Author Thomas Mayer
Description' A hook about howto program with CodeTgniter Framework
LTV Mã nguồn mờ PHP - Module 4
Xây dựng ứng dụng theo mô hình MVC
□Xây dựng Model
• Phân tích yêu cầu:
■Theo yêu cầu: các sách sẽ có các thông tin: title, author, description
=>Xây dựng class Book đẻ tổ chức thông tin này
=>Class này sẽ được gọi sử dụng tại model của ví dụ
14
15
LTV Mã nguồn mờ PHP - Module 4
20
21
Xây dựng ứng dụng theo mô hình MVC
□Xây dựng View
•Xây dựng View là bước đơn giản nhất trong quá trình xây dựng ứng dụng theo mô hình MVC.
• Mỗi View là một kết quả hiển thị theo yêu cầu.
LTV Mã nguồn mờ PHP - Module 4
Xây dựng ứng dụng theo mô hình MVC
□Xây dựng View
•Ví dụ: (tiếp tục với ví dụ trên)
■ Phân tích: dựa vào yêu cầu ta thấy cần phải hiển thị:
■ Danh mục sách: view hiển thị danh mục sách
• Một sách được chọn: view hiển thị một sách được chọn.
LTV Mã nguồn mờ PHP - Module 4
Xây dựng ứng dụng theo mô hình MVC
□Xây dựng Controller
Controller được xem là “cơ bắp” của ứng dụng.
Mọi thứ mà người dùng có thể thực hiện trên trang web đều được thể hiện trong Controller.
•Điều khiển các sự kiện của người dùng có ảnh hưởng đến Model và View
24
LTV Mã nguồn mờ PHP - Module 4
Xây dựng ứng dụng theo mô hình MVC
□Xây dựng Controller
•Ví dụ: (tiếp tục với ví dụ trên)
(MC
■Oediafire
IIA
■ Phân tích yêu cầu: Ta thấy cần phải xây dựng một Controller tương tác đến Model để lấy dữ liệu theo yêu cầu và tương tác đến View hiển thị dữ liệu có được từ Model.
lâđ	LTV Mã nguồn mờ PHP - Module 4	25

File đính kèm:

  • docxgiao_trinh_lap_trinh_vien_ma_nguon_mo_php_module_4_bai_1_mo.docx
  • pdfmodule_4_ttth_dh_khtn1_8566_541372.pdf