Tải bản đầy đủ (.pdf) (22 trang)

Bài giảng Công nghệ Web và Ứng dụng (Nguyễn Hoàng Tùng) Phần 3

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.23 MB, 22 trang )

XÂY DỰNG ỨNG DỤNG PHP
THEO MƠ HÌNH 3-TIERS
Giảng viên phụ trách:
Nguyễn Hồng Tùng
Bộ mơn Tin học
Email:


Nội dung chính của slide này
Mơ hình 3-Tiers
Xây dựng ứng dụng mẫu theo 3-Tiers

20/08/2012

Công nghệ Web và Ứng dụng

2


Mơ hình 3-Tiers
Tại sao lại sử dụng 3-Tiers?
Mơ hình 3-Tiers là gì?

20/08/2012

Cơng nghệ Web và Ứng dụng

3


Tại sao lại sử dụng 3-Tiers?


Muốn hiểu tại sao người ta chia một phần mềm có lưu trữ
dữ liệu thành 3 lớp (3-Tiers), thì phải nhìn từ lịch sử lập
trình, nghĩa là tại sao người ta cần chia một phần mềm ra
thành nhiều phần khác nhau? Rồi những phần đó tại sao lại
được xếp nhóm vào 3 lớp chính là Presentation, Business
Logics và Data?

 Từ đây trở đi, thuật ngữ phần mềm có nghĩa là phần mềm có lưu trữ dữ liệu.
20/08/2012

Công nghệ Web và Ứng dụng

4


Tại sao lại sử dụng 3-Tiers?
Sau nhiều năm phát triển, kinh nghiệm cho người ta thấy
chia phần mềm thành 3-Tiers sẽ có tác dụng tốt nhất cho:
Phát triển phần mềm: Có tính chun nghiệp hóa, có thể chia
cho nhiều nhóm được đào tạo nhiều kỹ năng khác nhau, từ
thiết kế mỹ thuật cho đến lập trình đến tổ chức Database.
Bảo trì: Với các lớp được phân chia theo như đã nói, thì 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 phát tán náo loạn trong 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.
20/08/2012


Công nghệ Web và Ứng dụng

5


Mơ hình 3-Tiers là gì?
“3-Tiers là một kiến trúc kiểu client/server mà trong đó giao
diện người dùng (UserInterface), các quy tắc xử lý nghiệp vụ
(BusinessRule hay BusinessLogic), và việc lưu trữ dữ liệu được
phát triển như những module độc lập, và mơ hình 3 lớp (3Tiers) được coi là một kiến trúc phần mềm và là một mẫu thiết
kế.” (dịch từ Wikipedia).

20/08/2012

Công nghệ Web và Ứng dụng

6


Mơ hình 3-Tiers là gì?
Như vậy, mơ hình này phân tách ứng dụng ra làm 3 module
riêng biệt, bao gồm:
Lớp Presentation: Để giao tiếp với người dùng, nhiệm vụ
chính là hiển thị dữ liệu và nhận dữ liệu từ người dùng.
Lớp Business Logic: Xử lý dữ liệu, cung cấp các chức năng
của phần mềm.
Lớp Data: Lưu trữ dữ liệu, cho phép lớp Business Logic có thể
tìm kiếm, trích xuất, cập nhật,… dữ liệu.

20/08/2012


Công nghệ Web và Ứng dụng

7


Mơ hình 3-Tiers là gì?

20/08/2012

Cơng nghệ Web và Ứng dụng

8


Xây dựng ứng dụng mẫu theo 3-Tiers
Lớp DataService
Lớp Data

Lớp Business (lớp Controller)
Lớp Presentation (lớp Giao diện)
Trang index.php

Các trang khác ngoài index.php

Code mẫu theo mơ hình 3-Tiers.

20/08/2012

Cơng nghệ Web và Ứng dụng


9


Lớp DataService
Chứa thông tin kết nối đến CSDL:
server

: Sever chứa CSDL muốn kết nối đến.

username

: Tên đăng nhập CSDL.

password

: Mật khẩu đăng nhập.

database

: Tên cơ sở dữ liệu cần kết nối.

Chứa các hàm xử lý trực tiếp với CSDL:
Hàm kết nối.
Hàm thực thi truy vấn.

Hàm xử lý dữ liệu trước khi thực thi truy vấn...

Lớp này được thực thi trên Server.
20/08/2012


Công nghệ Web và Ứng dụng

10


Lớp DataService

20/08/2012

Công nghệ Web và Ứng dụng

11


Lớp Data
Chứa các hàm truy vấn đến CSDL
Lấy dữ liệu (SELECT)

 Dùng ExecuteQuery()

Thêm mới, Cập nhật, Xóa

 Dùng ExecuteNonQuery()

Các hàm trong lớp này gọi hàm trực tiếp từ lớp DataService
để thực thi truy vấn.

Lớp này được thực thi trên Server.


20/08/2012

Công nghệ Web và Ứng dụng

12


Lớp Data

Tên lớp.

Một số hàm thực thi
truy vấn.

20/08/2012

Công nghệ Web và Ứng dụng

13


Lớp Business
Lớp này nhận dữ liệu từ lớp Giao diện, sau đó xử lý, tính
tốn,... Cuối cùng gởi dữ liệu cho lớp Data xử lý.

Đây là lớp trung gian, đóng vai trò quan trọng trong việc xử
lý các nghiệp vụ tính tốn phức tạp.
Lớp này được thực thi trên Server.

20/08/2012


Cơng nghệ Web và Ứng dụng

14


Lớp Business

20/08/2012

Danh sách các thuộc
tính (Properties).

Cơng nghệ Web và Ứng dụng

15


Lớp Presentation
Trong thiết kế web, lớp này còn được gọi là Front-end (theo
cách hiểu đơn giản), tức là phần giao diện mà người dùng
nhìn thấy, thao tác được.
Phần này chứa các giao diện hiển thị nội dung, các form
nhập liệu, hộp thoại giao tiếp với người dùng.
Lớp này được thực thi phía Client.

20/08/2012

Cơng nghệ Web và Ứng dụng


16


Lớp Presentation

20/08/2012

Công nghệ Web và Ứng dụng

17


Trang index.php

Hàm __autoload($class_name) dùng để lấy
tên lớp đang thực thi thơng qua tốn tử new.

Kỹ thuật dùng include thơng qua file do.php

20/08/2012

Công nghệ Web và Ứng dụng

18


Trang index.php

Kỹ thuật dùng include thông qua file do.php


20/08/2012

Công nghệ Web và Ứng dụng

19


Các trang khác ngoài index.php

Đảm bảo rằng mọi trang khác phải được
truy xuất thông qua trang index.php.
Hàm __autoload() bên
trang index.php sẽ “bắt”
được tên lớp là sachbs.

20/08/2012

Công nghệ Web và Ứng dụng

20


Code mẫu theo mơ hình 3-Tiers
Demo bài tập quản lý sách trực tuyến.
Source code mẫu tham khảo tại trang web:
/>
Tài liệu môn học:
/>
20/08/2012


Công nghệ Web và Ứng dụng

21


Giải đáp thắc mắc

20/08/2012

Công nghệ Web và Ứng dụng

22



×