bài giảng môn lập trình windows nâng cao

24

Upload: elisa

Post on 03-Feb-2016

94 views

Category:

Documents


1 download

DESCRIPTION

Bài giảng môn Lập trình Windows nâng cao. Ôn bài cũ Các thành phần cơ bản của ADO.NET. Bài giảng môn Lập trình Windows nâng cao. Ôn bài cũ Các bước cơ bản để truy xuất dữ liệu từ ADO.NET. Tạo phương thức kết nối Tạo một thực thi SQL Tạo dataset hoặc datatable - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Bài giảng môn Lập trình Windows nâng cao
Page 2: Bài giảng môn Lập trình Windows nâng cao

Bài giảng môn Lập trình Windows nâng cao

Ôn bài cũCác thành phần cơ bản của ADO.NET

Page 3: Bài giảng môn Lập trình Windows nâng cao

Bài giảng môn Lập trình Windows nâng cao

Ôn bài cũCác bước cơ bản để truy xuất dữ liệu

từ ADO.NET

Tạo phương thức kết nối Tạo một thực thi SQL Tạo dataset hoặc datatable Gán đối tượng với dữ liệu truy xuất

Page 4: Bài giảng môn Lập trình Windows nâng cao

Bài giảng môn Lập trình Windows nâng cao

CHƯƠNG 4:

XÂY DỰNG ỨNG DỤNG ĐA TẦNG

Page 5: Bài giảng môn Lập trình Windows nâng cao

Bài giảng môn Lập trình Windows nâng cao

Mục tiêu: học sinh nắm được:Tổng quan về xây dựng ứng dụng đa tầng, chức năng của các tầng và ý nghĩa và ưu điểm của mô hình đa tầng.Biết tạo được ứng dụng đa tầng đơn giản.

Page 6: Bài giảng môn Lập trình Windows nâng cao

CHƯƠNG 4: XÂY DỰNG ỨNG DỤNG ĐA TẦNG

4.2.1 Tổng quan:Trong phát triển ứng dụng, để dễ quản lý các thành phần của hệ thống được nhóm các thành phần có cùng chức năng lại với nhau thành từng lớp (Tầng).

Mỗi tầng có một chức năng riêng để công việc không bị chồng chéo ảnh hưởng lẫn nhau, dễ mở rộng, tái sử dụng và bảo mật.

Ba tầng là phổ biến nhất Là Tầng giao diện(Presentation), Tầng Xử lý (Business Logic), và tầng dữ liệu(Data Access).

Page 7: Bài giảng môn Lập trình Windows nâng cao

MÔ HÌNH 3TIER

Hình 4-1

Page 8: Bài giảng môn Lập trình Windows nâng cao

CHƯƠNG 4: XÂY DỰNG ỨNG DỤNG ĐA TẦNG

4.2.2 Chức năng của các tầng4.2.2.1 Tầng giao diện(Presentation): Làm nhiệm vụ giao tiếp với người dùng cuối để thu thập dữ liệu và hiển thị kết quả dữ liệu thông qua các thành phần trong giao diện người sử dụng.Gởi yêu cầu và nhận thông tin phản từ Business Logic cung cấp.Lớp này có 2 thành phần chính là User Interface Components và User Interface Process

Page 9: Bài giảng môn Lập trình Windows nâng cao

CHƯƠNG 4: XÂY DỰNG ỨNG DỤNG ĐA TẦNG

UI Components: thu thập và hiển thị thông tin cho người dùng cuối. Có thể là các TextBox, các Button, DataGrid…

UI Process Components: quản lý các qui trình chuyển đổi giữa các UIComponents. Ví dụ quản lý các màn hình nhập dữ liệu.

Tầng này không sử dụng trực tiếp các dịch vụ của lớp Data Access mà sử dụng thông qua các dịch vụ của lớp Business Layer, vì khi sử dụng trực tiếp như vậy, có thể bỏ qua các ràng buộc, các logic nghiệp vụ mà ứng dụng cần phải có.

Page 10: Bài giảng môn Lập trình Windows nâng cao

4.2.2.2 Tầng xử lý Business tier (Business Logic Layer)

Đóng vai trò trung gian, tiếp nhận các dịch vụ do lớp Data Access Layer cung cấp, xử lý và truyền các dịch vụ cho lớp Presentation khi có yêu cầu.

Busines Layer có các lớp thành phần BusinessComponents, Business Entities và Service Interface.

Page 11: Bài giảng môn Lập trình Windows nâng cao

Business Entities là những thực thể mô tả những đối tượng thông tin mà hệ thống xử lý.

Business Entities dùng để trao đổi thông tin giữa lớp Presentation và lớp Data Access Layer.

4.2.2.2 Tầng xử lý Business tier (Business Logic Layer)

Page 12: Bài giảng môn Lập trình Windows nâng cao

Business Components là những thành phần chính thực hiện các dịch vụ mà Service Interface cung cấp, chịu trách nhiệm kiểm tra các ràng buộc logic(constraints), các qui tắc nghiệp vụ(business rules), sử dụng các dịch vụ bên ngoài khác để thực hiện các yêu cầu của ứng dụng

4.2.2.2 Tầng xử lý Business tier (Business Logic Layer)

Page 13: Bài giảng môn Lập trình Windows nâng cao

4.2.2.3 Tầng Data tier (Data Access Layer: DAL)

Thực hiện các lưu trữ và truy xuất dữ liệu. Sử dụng các dịch vụ của các hệ CSDLđể thực hiện nhiệm vụ của mình.

Các thành phần chính là Data Access Logic, Data Sources.Data Access Logic components (DALC) là thành phần chính chịu trách nhiệm lưu trữ vào và truy xuất dữ liệu từ các nguồn dữ liệu – Data Sources như RDMBS, XML, File systems….

Page 14: Bài giảng môn Lập trình Windows nâng cao

4.2.3 Xây dựng ứng dụng 3Tier

Tầng giao diện tạo form1 ở hình 4-2

Hình 4-2

Page 15: Bài giảng môn Lập trình Windows nâng cao

Phân tích chức năng của mỗi tầng

Tầng giao diện dùng để hiển thị thông tin, cho phép thêm, xóa, sửa.

Tầng Busines Logic Layer: dùng để xử lí thêm, xóa, sửa và đóng vai trò trung gian giữa DataAccess Layer và Presentation.

Tầng DataAccess Layer: lưu trữ và cho phép kết nối truy xuất dữ liệu

Page 16: Bài giảng môn Lập trình Windows nâng cao

Cách tạo mỗi tầng

-> File/ new/ Project rồi đặt tên.

Page 17: Bài giảng môn Lập trình Windows nâng cao

Thêm tầng BLL

Page 18: Bài giảng môn Lập trình Windows nâng cao

Thêm tầng BLL

Page 19: Bài giảng môn Lập trình Windows nâng cao

Thiết lập tham chiếu giữa các tầng

Page 20: Bài giảng môn Lập trình Windows nâng cao

Thiết lập tham chiếu giữa các tầng

BLL tham chiếu đến

DAL

Giao diện tham

chiếu đến BLL

Page 21: Bài giảng môn Lập trình Windows nâng cao

Các phương thức xây dựng ứng dụng 3 Tier tầng DataAccess Layer

public DataTable TAOBANG(String sql)

{

SqlConnection con = TAOKETNOI();

SqlDataAdapter da = new SqlDataAdapter(sql, con);

DataTable dt = new DataTable();

da.Fill(dt);

return dt;

}

public void THUCTHI(string sql) { SqlConnection con = TAOKETNOI(); SqlCommand cmd = new SqlCommand(sql, con); con.Open(); cmd.ExecuteNonQuery(); con.Close(); cmd.Dispose(); }

public SqlConnection TAOKETNOI() { return new SqlConnection(“chuổi kết nối"); }

Page 22: Bài giảng môn Lập trình Windows nâng cao

Các phương thức xây dựng tầng Busines Logic Layer

public void them(string masv, string hoten)

{

string sql = " insert into SINHVIEN values('" + masv + "','" + hoten + "') ";

ac.THUCTHI(sql);

}

 

public void xoa(string masv)

{

string sql = "delete from SINHVIEN where masv='" + masv + "'";

ac.THUCTHI(sql);

}

public void capnhat(string masv, string hoten) { string sql = "update SINHVIEN set hoten='" + hoten + "' where masv= '" + masv + "'"; ac.THUCTHI(sql); }  public DataTable hienthi() { string sql1 = "Select * from SINHVIEN"; return ac.TAOBANG(sql1); }

DataAcess ac = new DataAcess(); // khởi tạo đối tượng từ DAL

Page 23: Bài giảng môn Lập trình Windows nâng cao

BLL.BLL bl = new BLL.BLL(); // khởi tạo một đối tượng ở tầng xử lý (Business Logic Layer)

 

private void Form1_Load(object sender, System.EventArgs e)

{

dataGridView1.DataSource = bl.hienthi(); // gán DataGridView với DataTable để hiển thị lên Form

}

private void txtthem_Click(object sender, System.EventArgs e)

{

bl.them(txtmasv.Text, txthoten.Text); // gọi phương thức thêm

Form1_Load(sender, e); // đưa lại dữ liệu lên form

}

Các phương thức chính xây dựng tầng giao diện (Presentation):

Page 24: Bài giảng môn Lập trình Windows nâng cao