浅谈三层架构

三层架构分为界面层(UIL),业务逻辑层(BLL),数据访问层(DAL)。

三层架构的思想就是将代码分层,即是一种好的代码风格,也极大的提高了代码的重用率。


界面层(UIL),顾名思义就是界面的表示,显示数据和接收用户输入的数据,它仅仅只显示数据和接收用户输入的数据,只是一个外壳,不能包含任何业务逻辑的处理


数据访问层(DAL),有时候也成为持久层,它主要是负责数据库的访问,可以访问数据库系统。二进制文件,文本文档或XML文档,对于数据库的访问代码全放在数据访问层


而三层架构的核心价值就是业务逻辑层(BLL)了,它处于数据访问层和界面层中间,界面层与数据访问层是一点关系都没有的,而正是有了业务逻辑层后,将DAL和UIL联系了起来,


对于DAL来说,BLL是调用者,调用从数据库等读取的内容;而对于UIL来说,BLL是被调用者,UIL将BLL层从数据库获取的内容应用到界面上

下面我们来看代码

UIL(界面):

 <StackPanel  Orientation="Horizontal">
            <StackPanel Orientation="Vertical" VerticalAlignment="Center" HorizontalAlignment="Left">
                <TextBox  Width="200" Height="50" Margin="0,30" x:Name="txtname"/>
                <TextBox  Width="200" Height="50" Margin="0,0,0,50" x:Name="txtage"/>
                <TextBox  Width="200" Height="50" x:Name="txtheight" />
            </StackPanel>
            <StackPanel>
                <Button  Width="200" Height="50" Content="可空数据录入" FontSize="20" Margin="0,50" Click="Button_Click"/>
             
            </StackPanel>
        </StackPanel>

DAL(读取数据库数据):

 class StudentDAL
    {
        //和数据库有关的都放在DAL(数据访问层)中
        public static object ToDBValue(object value)
        {
            if (value == null)
            {
                return  DBNull.Value;
            }
            else
            {
                return value;
            }
        }
        public static void Insert(Student student)
        {
            SqlHelper.ExecuteNonQuery(@"insert into T_DBNULL(Name,Age,Height) values(@name,@age,@height)",new SqlParameter("@name",ToDBValue(student.Name)),new SqlParameter("@age",ToDBValue(student.Age)),new  SqlParameter("@height",student.Height));
        }
    }


BLL(将读取到的数据显示在界面层上):

 private void Button_Click(object sender, RoutedEventArgs e)
        {
            Student student = new Student();
        
            student.Height =decimal.Parse(txtheight.Text);
            StudentDAL.Insert(student);
        }


三层架构将代码都分离了开,开发人员可以只关注整个结构的其中一层就可以,也可以很容易的用新的实现来替换原有的实现,可以简单的代码改动就可以摇身一变为另一个app,极大的提高了代码复用率,后期的维护工作也很方便。目前可能小项目中还体现的不明显,但是我相信在往后越来越大的项目中,三层架构还是很有优势的。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值