前言
经过三层的学习,对七层的学习奠定了一些基础。本次的七层学习,则是机房重构登录界面所用到的功能。下面则是七层学习的整个介绍。
七层与三层的比较
什么是七层 | |
---|---|
七层是在三层的基础上加了“Facade层、Factory层、IDAL层、Enitity层”,其中Enitity层相当于三层中的model层,所以三层其实也可以叫做四层;并且其中SqlHepler (数据操作层)可写在DAL层 |
具体介绍
UI显示层 | 接收用户的数据,经过处理后再展现给用户 |
---|---|
BLL业务逻辑层 | 对UI传来的数据进行逻辑判断 |
DAL数据访问层 | 连接数据库,和数据打交道(SqlHepler数据操作层可写在这里) |
Factory工厂层 | 接收配置文件传来的数据,做到更换数据库时,只需要更改配置文件即可,实现了B层和D层的数据传递。抽象工厂+反射+配置文件 |
Facade外观层 | 外观模式,将UI层和B层进行了解耦,提供了B层的入口 |
IDAL接口层 | 定义统一地接口,对D层和B层进行解耦 |
Enitity实体层 | 各层数据之间的传输 |
最后有个疑问:对于七层比三层多哪几层的归纳。
疑问由来,有认为七层比三层多的是“IDAL层、Facade层、Factory层”,也有人认为多的是“IDAL层、Facade层、Factory层、SqlHepler层”
|七层的包图|
主要代码
UI层 |
---|
判断密码用户名是否为空,实例化出一个用户和外观,最后判断是否登录成功 |
private void btnOk_Click(object sender, EventArgs e) //判断用户名密码是否为空
{
if (txtUserName.Text.Trim()=="")
{
MessageBox.Show("请输入您的用户名!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning);
}
if (txtPassword.Text=="")
{
MessageBox.Show("请输入您的密码!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning);
}
//实例化一个外观,提供B层入口
loginFacade.LoginFacade Facade = new loginFacade.LoginFacade();
//实例化一个用户
loginEnitity.UserInfo user = new loginEnitity.UserInfo();
//接受信息
user.UserName = txtUserName.Text;
user.Password = txtPassword.Text;
//调用外观方法,返回给user
Boolean flag = false;
loginFacade.LoginFacade FLogin = new loginFacade.LoginFacade();
flag = FLogin.SelectUser(user);
//判断是否登录成功
if (flag !=false)
{
MessageBox.Show("登录成功");
this.Hide();
this.DialogResult = System.Windows.Forms.DialogResult.OK;
Form a = new Form();
a.Show();
}
else
{
MessageBox.Show("用户名或密码不正确", "提示", MessageBoxButtons.OK,MessageBoxIcon.Warning);
}
}