现在的位置: 首页 > 综合 > 正文

三层结构概述

2012年04月18日 ⁄ 综合 ⁄ 共 1074字 ⁄ 字号 评论关闭

       应用软件模型有两层的也有三层的,典型的两层结构是客户机-服务器(C/S),而三层结构在物理上分为:显示层、业务层、数据层;在逻辑上分为UI、BLL+DAL、DB

  

首先谈一下为什么使用三层结构,什么情况下需要使用?

 我们知道程序分层的目的是:隔离、解耦和

 

优点

1、开发人员可以只关注整个结构中的其中某一层;
2、可以很容易的用新的实现来替换原有层次的实现;
3、可以降低层与层之间的依赖;
4、有利于标准化;
5、利于各层逻辑的复用。
6、结构更加的明确
7、在后期维护的时候,极大地降低了维护成本和维护时间
但不是任何软件都需要使用三层,如果软件用不到数据库或者业务逻辑非常简单的话就不必使用三层结构。毕竟三层结构也是有缺点的,增加开发成本不说,有时会导致级联的修改。

显示层(UI)

 

 

1.UI的作用

    向用户展示特定业务数据

    采集用户的输入信息和操作

2.UI设计的原则

    用户至上,兼顾简洁

3.UI中常用的技术

    WindowsForm:FormControl

  ASP.NET:aspxascxmasterhtml

业务逻辑层(BLL)

 

1.BLL的作用

   DAL中获取数据,以供UI显示用

   UI中获取用户指定和数据,执行业务逻辑

   UI中获取用户指定和数据,通过DAL写入数据源

2.BLL的职责机制

   UI->BLL->UI--不用数据层时

   UI->BLL->DAL->BLL->UI

  BLL就是一个中间层,通过BLL来让UI与数据层进行交互

数据访问层(DAL)

 

1.DAL的作用

   从数据源加载数据(Select)

   向数据源写入数据(Insert/Update)

   从数据源删除数据(Delete)

2.DAL中常用的技术

   ADO.NET+SQL语句

   O/R Mapping框架 NHiberate--ObjectRelational Mapping

   访问SQL Server数据库时Linq to SQL


具体应用-原则

1.DAL只提供基本的数据访问,不包含任何业务相关的逻辑处理

2.UI只负责显示和采集用户操作,不包含任何的业务相关的逻辑处理;

3.BLL负责处理业务逻辑。通过获取UI传来的操作指定,决定执行业务逻辑,在需要访问数据源的时候直接交给DAL处理。处理完成后,返回必要数据给UI

 

具体应用-Assembly

DAL/BLL/UI分别在不同的程序集中

各个层之间的引用关系

  UI->BLL->DAL

       DAL所在程序集不引用BLLUI

       BLL需要引用DAL

       UI直接引用BLL,可能会间接引用DAL



抱歉!评论已关闭.