ths.nguyen tan thuan mob:090 562 6276 – email: nguyentanthuan@yahoo

24
Ths.Nguyen Tan Thuan Ths.Nguyen Tan Thuan Mob:090 562 6276 – Email: [email protected] Mob:090 562 6276 – Email: [email protected] LẬP TRÌNH ỨNG DỤNG WINDOW FORM LẬP TRÌNH ỨNG DỤNG WINDOW FORM HƯỚNG ĐỐI TƯỢNG HƯỚNG ĐỐI TƯỢNG

Upload: rob

Post on 24-Jan-2016

46 views

Category:

Documents


0 download

DESCRIPTION

Ths.Nguyen Tan Thuan Mob:090 562 6276 – Email: [email protected]. LẬP TRÌNH ỨNG DỤNG WINDOW FORM HƯỚNG ĐỐI TƯỢNG. Ths.Nguyen Tan Thuan Mob:090 562 6276 – Email: [email protected]. Giới thiệu mô hình 3-layer. Yêu cầu xem lại các nội dung sau. Lớp và đối tượng - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Ths.Nguyen Tan Thuan Mob:090 562 6276 – Email: NguyenTanthuan@yahoo

Ths.Nguyen Tan ThuanThs.Nguyen Tan ThuanMob:090 562 6276 – Email: [email protected] Mob:090 562 6276 – Email: [email protected]

LẬP TRÌNH ỨNG DỤNG WINDOW FORM LẬP TRÌNH ỨNG DỤNG WINDOW FORM HƯỚNG ĐỐI TƯỢNGHƯỚNG ĐỐI TƯỢNG

Page 2: Ths.Nguyen Tan Thuan Mob:090 562 6276 – Email: NguyenTanthuan@yahoo

Ths.Nguyen Tan ThuanThs.Nguyen Tan ThuanMob:090 562 6276 – Email: [email protected] Mob:090 562 6276 – Email: [email protected]

Giới thiệu mô hình Giới thiệu mô hình 3-layer3-layer

Page 3: Ths.Nguyen Tan Thuan Mob:090 562 6276 – Email: NguyenTanthuan@yahoo

3/12

Yêu cầu xem lại các nội dung sau

Lớp và đối tượng Thư viện xử lý đồ hoà Xử lý ngoại lệ Lập trình SQL và hệ quản trị cơ sở dữ

liệu SQL Server 2000 hoặc cao hơn.

Page 4: Ths.Nguyen Tan Thuan Mob:090 562 6276 – Email: NguyenTanthuan@yahoo

4/12

Nội dung

Khái niệm của mô hình 3-Layer Phân biệt được vai trò & trách nhiệm của

mỗi layer. Các ưu điểm của mô hình 3-Layer Cài đặt ứng dụng trên mô hình 3-Layer. Quản lý ngoại lệ trong mô hình 3-Layer. Khái niệm của mô hình các Tier Phân biệt 3-Tier, 3-Layer

Page 5: Ths.Nguyen Tan Thuan Mob:090 562 6276 – Email: NguyenTanthuan@yahoo

5/12

Mục tiêu

Nắm được khái niệm mô hình 3-layer và cài đặt ứng dụng trên mô hình 3-layer

Phân biệt được 3-Layer và 3-Tier Ứng dụng mô hình 3-Layer vào bài tập

nhóm

Page 6: Ths.Nguyen Tan Thuan Mob:090 562 6276 – Email: NguyenTanthuan@yahoo

6/12

Khái niệm mô hình 3-layer.

Khái niệm của mô hình 3-layer. 3-Layers có tính logic(mỗi layer có 1 công việc) và là

1 thành phần của 3-Tiers. Gồm 3 lớp chính.

Page 7: Ths.Nguyen Tan Thuan Mob:090 562 6276 – Email: NguyenTanthuan@yahoo

7/12

Khái niệm của mô hình 3-layer.

Logical view

GUI

Business logic

Data Access

Data

Graphic User Interface (GUI): Thành phần giao diện, là các form của chương trình tương

tác với người sử dụng

Xử lý các nghiệp vụ của chương trình như tính toán, xử lý hợp lệ và

toàn vẹn về mặt dữ liệu.

Tầng giao tiếp với các hệ quản trị CSDL

Page 8: Ths.Nguyen Tan Thuan Mob:090 562 6276 – Email: NguyenTanthuan@yahoo

8/12

Việc trao đổi liên lạc giữa các layer

GUI

Business logic

Data Access

Data

Data Transfer Object (DTO)

Các giá trị, dòng, bảng

Page 9: Ths.Nguyen Tan Thuan Mob:090 562 6276 – Email: NguyenTanthuan@yahoo

9/12

Sự phụ thuộc giữa các layer

GUI

Business logic

Data Access

Data

Data Transfer Object (DTO)

Page 10: Ths.Nguyen Tan Thuan Mob:090 562 6276 – Email: NguyenTanthuan@yahoo

10/12

Tính chất của mô hình 3-layer

Giảm sự kết dính giữa các thực thể phần mềm Tái sử dụng Chia sẻ trách nhiệm

Page 11: Ths.Nguyen Tan Thuan Mob:090 562 6276 – Email: NguyenTanthuan@yahoo

11/12

Vai trò của các layer

GUI (Presentation) Layer: Nhập liệu và trình bày dữ liệu, có thể bao gồm các bước kiểm tra dữ liệu trước khi gọi Business Logic Layer.

Business Logic Layer: Kiểm tra các yêu cầu nghiệp vụ trước khi cập nhật dữ liệu, quản lý các giao dịch Transaction, quản lý các truy cập đồng thời concurrent access.

Data Access Layer: Kết nối CSDL, tìm kiếm, thêm, xóa, sửa,…trên CSDL

Page 12: Ths.Nguyen Tan Thuan Mob:090 562 6276 – Email: NguyenTanthuan@yahoo

12/12

Các lưu ý quan trọng

Phân biệt vai trò Business Layer và khái niệm “xử lý” Mỗi Layer vẫn có xử lý riêng, đặc trưng của Layer đó Đôi khi việc quyết định 1 xử lý nằm ở layer nào chỉ mang

tính chất tương đối

Page 13: Ths.Nguyen Tan Thuan Mob:090 562 6276 – Email: NguyenTanthuan@yahoo

13/12

Quản lý ngoại lệ

Database

Business

GUI

Thrown business exceptions

Database Error Handling(controlled by DBMS)

Business Error Handling

GUI layer Error Handling

Database error codes

Error messages

Database errors while executing

Errors while treating data input

Errors while treating in

business layer

Log

Page 14: Ths.Nguyen Tan Thuan Mob:090 562 6276 – Email: NguyenTanthuan@yahoo

14/12

Quản lý ngoại lệ

Ngoại lệ có thể xảy ra ở bất kỳ layer nào Khi ngoại lệ xảy ra ở một layer thì:

Xử lý nội bộ trong layer đó “Ném” ngoại lệ lên layer “cao hơn” Không xử lý

Khi một layer nhận ngoại lệ từ một layer “thấp hơn” Xử lý nội bộ “Ném” ngoại lệ lên layer “cao hơn” Không xử lý

Page 15: Ths.Nguyen Tan Thuan Mob:090 562 6276 – Email: NguyenTanthuan@yahoo

15/12

Ưu điểm của mô hình 3-Layer

Khi ứng dụng đòi hỏi có sự tách biệt 3 phần: giao diện, xử lý nghiệp vụ, giao tiếp với hệ quản trị CSDL để người viết có thể dễ dàng quản lý ứng dụng của mình khi có bug xảy ra với 1 số thành phần xử lý nghiệp vụ không mong muốn. Ngoài ra với mô hình này nó còn tạo ra 1 không gian làm việc rất tốt để người thiết kế giao diện, lẫn người lập trình có thể làm việc chung với nhau 1 cách dễ dàng.

Khả năng tái tạo cao: Khi ứng dụng bất chợt yêu cầu thay đổi hệ quản trị CSDL hoặc chuyển ứng dụng từ window application sang web application, việc xây dựng lại ứng dụng từ đầu rất tốn nhiều thời gian và chi phí. Vì vậy với mô hình này ra đời sẽ giải quyết vấn đề này

Page 16: Ths.Nguyen Tan Thuan Mob:090 562 6276 – Email: NguyenTanthuan@yahoo

16/12

Ưu điểm của mô hình 3-Layer

Các thao tác trên control như: kiểm tra nhập hợp lệ, ẩn hiện các control, và các xử lý thông tin trên control thì ta đặt các hàm xử lý ngay trên GUI.

Các thao tác trên các dữ liệu cơ bản như: List, Array List, Object, DataTable, string, int, long, float,… ta xử lý ngay chính tầng nghiệp vụ BUS, vì bản chất khi thay đổi hệ quản trị hay các platform thì BUS không thay đổi.

Các thao tác với CSDL như truy vấn, kết nối, đóng kết nối,… ta xử lý trong DAL.

Khi có nhu cầu thay đổi hệ quản trị CSDL, ta chỉ cần thay đổi DAL phù hợp với hệ quản trị mới, giữ nguyên BUS, GUI và build lại project.

Khi có nhu cầu chuyển đổi qua lại giữa ứng dụng web forms hoặc win forms ta chỉ cần thay GUI, giữ nguyên DAL,BUS và build lại project

Page 17: Ths.Nguyen Tan Thuan Mob:090 562 6276 – Email: NguyenTanthuan@yahoo

17/12

1-tier, 3-layer

Data

GUI

Business logic

Data Access

Application + Data

Physical view Logical view

Page 18: Ths.Nguyen Tan Thuan Mob:090 562 6276 – Email: NguyenTanthuan@yahoo

18/12

2-tier, 3-layer

Data

GUI

Business logic

Data Access

Data tier

Client tier

Physical view Logical view

Page 19: Ths.Nguyen Tan Thuan Mob:090 562 6276 – Email: NguyenTanthuan@yahoo

19/12

Khái niệm mô hình 3-Tiers

3-Tiers có tính vật lý (physical): là mô hình client-server (mỗi tier có thể đặt chung 1 nơi hoặc nhiều nơi, kết nối với nhau qua Web services, WCF, Remoting...). Như hình vẽ ta thấy 3 tầng rõ rệt 3 tầng:

Page 20: Ths.Nguyen Tan Thuan Mob:090 562 6276 – Email: NguyenTanthuan@yahoo

20/12

Khái niệm mô hình 3-Tiers

Business tier

Data tier

Browsers

Web Server

Local clients

Presentation tier

Presentation tier : được dùng để 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

Business Logic tier : nhiệm vụ chính là cung cấp các chức năng của phần mềm.

Data tier: lưu trữ dữ liệu, là các hệ quản trị CSDL như MS SQL Server, Oracle, SQLite, MS Access, XML files, text files,...

Page 21: Ths.Nguyen Tan Thuan Mob:090 562 6276 – Email: NguyenTanthuan@yahoo

21/12

3-tier, 3-layer

Browsers

Data tier

Business tier

Web Server

Local clients

Presentation tier

Data

Business logic

Data Access

Web Server

GUI

Application Web

Ph

ysi

cal vie

w

Log

ical vie

w

Page 22: Ths.Nguyen Tan Thuan Mob:090 562 6276 – Email: NguyenTanthuan@yahoo

22/12

Các ưu và nhược điểm của 3-tiers

Ưu điểm: Dễ dàng mở rộng, thay đổi quy mô của hệ thống: Khi

cần tải lớn, người quản trị có thể dễ dàng thêm các máy chủ vào nhóm, hoặc lấy bớt ra trong trường hợp ngược lại.

Nhược điểm: Việc truyền dữ liệu giữa các tầng sẽ chậm hơn vì

phải truyền giữa các tiến trình khác nha, dữ liệu cần phải được đóng gói -> truyền đi -> mở gói trước khi có thể dùng được.

Page 23: Ths.Nguyen Tan Thuan Mob:090 562 6276 – Email: NguyenTanthuan@yahoo

23/12

Ths.Nguyen Tan ThuanMob:090 562 6276 – Email: [email protected]

Giới thiệu mô hình Giới thiệu mô hình 3-layer3-layer

Page 24: Ths.Nguyen Tan Thuan Mob:090 562 6276 – Email: NguyenTanthuan@yahoo

24/12