三层架构简易实例详解
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
三层架构简易实例详解
何为三层架构?通常意义上的三层架构就是将整个业务应用划分为:表现层(UI)、业务逻辑层(BLL)、数据访问层(DAL)。区分层次的目的即为了“高内聚,低耦合”的思想。
1.表现层(UI):即展现给用户的界面;
2.业务逻辑层(BLL):针对具体问题的操作,也可以说是对数据层的操作,对数据业
务逻辑处理;
3.数据访问层(DAL):该层所做事务直接操作数据库,针对数据的增添、删除、修改、
查找等。
下面通过通过一个简单的例子来描述三层架构:
需求
1.实现一个客户信息管理界面(包括增加、修改、删除)操作;
2.用户sql—server作为数据库
以下是成型界面,至于UI设计是否合理,望各位大神拍砖
UI层设计
设计器代码:
主要是通过设计器后台代码,DataGrid控件绑定数据,代码如下:
///
/// 初始化加载数据
///
private void LoadData()
{
DataGrid1.ItemsSource = CustomDAL.GetAll();
}
数据业务逻辑代码如下:
///
/// 新增
///
///
///
private void BtnAdd_Click(object sender, RoutedEventArgs e)
{
CustomEditUI editUI = new CustomEditUI();
editUI.isInsert = true;
if (editUI.ShowDialog() == true)
{
LoadData();
}
}
///
/// 编辑
///
///
///
private void BtnEdit_Click(object sender, RoutedEventArgs e)
{
Custom customer = (Custom)DataGrid1.SelectedItem;
if (customer == null)
{
MessageBox.Show("请选择要编辑的行!");
return;
}
CustomEditUI editUI = new CustomEditUI();
//添加标识便于区分是编辑保存还是新增保存
editUI.isInsert = false;
editUI.editId = customer.Id;
if (editUI.ShowDialog() == true)
{
LoadData();
}
}
///
/// 删除
///
///
///
private void BtnDel_Click(object sender, RoutedEventArgs e)
{
if (MessageBox.Show("确认删除此条数据?", "提醒", MessageBoxButton.YesNo) == MessageBoxResult.Yes)
{
Custom custom = DataGrid1.SelectedItem as Custom;
if (custom != null)
{
if ((MessageBox.Show("确认要删除此调数据", "提醒") == MessageBoxResult.OK))
{
CustomDAL.Delete(custom.Id);
LoadData();
}
}
else
{
MessageBox.Show("请选择要删除的数据", "提醒");
return;
}
}
}
数据访问层(DAL),代码如下:
public class CustomDAL
{