MÔ HÌNH 3TIER - WordPress.com

Download Report

Transcript MÔ HÌNH 3TIER - WordPress.com

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
Gán đối tượng với dữ liệu truy xuất
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
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.
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).
MÔ HÌNH 3TIER
Hình 4-1
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ầng
4.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
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ó.
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.
4.2.2.2 Tầng xử lý Business tier (Business
Logic Layer)
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)
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.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….
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
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
Cách tạo mỗi tầng
-> File/ new/ Project rồi đặt tên.
Thêm tầng BLL
Thêm tầng BLL
Thiết lập tham chiếu giữa các tầng
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
Các phương thức xây dựng ứng dụng 3 Tier
tầng DataAccess Layer
public SqlConnection TAOKETNOI()
{
return new SqlConnection(“chuổi kết nối");
}
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();
}
Các phương thức xây dựng tầng Busines
Logic Layer
DataAcess ac = new DataAcess(); // khởi tạo đối tượng từ DAL
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);
}
Các phương thức chính xây dựng
tầng giao diện (Presentation):
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
}