三层架构详解

三层架构将应用划分为显示层、业务逻辑层和数据访问层,旨在实现高内聚低耦合。当系统复杂度增加,需要独立的数据存储时,采用三层架构能方便迁移且不干扰业务逻辑。数据访问层负责数据操作,UI层展示数据和收集用户输入,业务逻辑层处理业务规则。各层间调用关系为UI->BLL->DAL,通过实体层传递信息,实现解耦。
摘要由CSDN通过智能技术生成

初识

三层架构就是将整个业务应用划分为:显示层(User Interface layer)、业务逻辑层(Business Logic Layer)、数据访问层(Data access layer)。区分层次的目的是为了“高内聚低耦合”。

系统比较容易迁移,业务逻辑层与数据访问层是分离的,修改数据访问层不会影响到业务逻辑层。系统如果从用SQL Server存储数据迁移到用Oracle存储数据,并不需要修改商业逻辑层组件和GUI组件。

何时使用

  • 不需要,逻辑结构简单,没有真正的数据存储。
  • 需要:业务复杂到一定程度,数据需要独立的数据存储介质;把数据访问脱离开业务单独存在,把业务脱离于UI单独存在。UI只需要呼叫业务访问层就可以实现需求。

作用与技术应用

数据访问层(DAL):

作用:从数据源加载数据(select),向数据源写入数据(insert/update),从数据源删除数据(delete)
技术:ADO.NET+SQL语句,O/R Mapping框架 NHiberate,访问SQL Server数据库时Linq to SQL

显示层(UI):

作用: 向用户展现特定业务数据;采集用户的输入信息和操作
原则:用户至上、兼顾简洁
技术:Windows Form:Form、Control;ASP.NET:aspx,ascx,master,html

业务逻辑层(BLL):

作用:从DAL中获取数据,以供UI显示用;从UI中获取用户指令和数据,执行业务逻辑;从UI中获取用户指令和数据,通过DAL写入数据源。
职责机制:UI-BLL-UI;UI-BLL-DAL-BLL-UI

实体层(Entity):

作用:主要存放数据库中表的字段。

各层联系

层与层间调用关系为:UI->BLL->DAL,每一层都调用业务实体层。
在这里插入图片描述

代码与理解

UI层

namespace LoginUI
{
   
    public partial class Form1 : Form
    {
   
        public Form1()
        {
   
            InitializeComponent();
        }

        private void btnLogin_Click(object sender, EventArgs e)
        {
               
            string userName = txtUserName.Text.Trim();//接收用户输入数据
            string password = txtpassword.Text;

            Login.BLL.LoginManager mgr = new Login.BLL.LoginManager();//实例化BLL层LoginManager类
            Login.Model.UserInfo user= mgr.UserLogin(userName, password);
评论 46
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值