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.
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
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:
- giao_trinh_lap_trinh_vien_ma_nguon_mo_php_module_4_bai_1_mo.docx
- module_4_ttth_dh_khtn1_8566_541372.pdf