七层

前言

经过三层的学习,对七层的学习奠定了一些基础。本次的七层学习,则是机房重构登录界面所用到的功能。下面则是七层学习的整个介绍。

七层与三层的比较

什么是七层
七层是在三层的基础上加了“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);
            }
        }
发布了67 篇原创文章 · 获赞 72 · 访问量 2万+

猜你喜欢

转载自blog.csdn.net/weixin_42957931/article/details/93410977