浅谈三层架构

一、前言:   

       我们这里所谈论的三层是逻辑上的三层。分别是显示层(UI),业务逻辑层(BLL),数据访问层(DAL)。区分层次的目的是为了“解耦合”。并不是所有的系统都需要采用三层架构,对于业务逻辑简单;没有真正的数据存储层的简单程序来说,完全没有必要多此一举。只有当业务复杂到一定程度后,并且把数据存储到相应的数据库或独立的数据存储介质时,才有必要使用三层架构。

二、搭建三层结构步骤

①搭建表示层(创建一个Windows应用程序)

②搭建业务逻辑层(类库)

③搭建数据访问层(类库)

④添加各层之间的相互依赖


三、显示层

(一)UI的作用

①向用户展示特定业务数据

②采集用户的输入信息和操作指令(把特定的数据展现给用户)

(二)UI设计的原则

用户至上,兼顾简洁

(三)UI中常用的技术

WindowsForm:Form、Control

ASP.NET:aspx  ascx master html

四、业务逻辑层

(一)BLL的作用

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

②从UI中获取用户指令和数据、执行业务逻辑

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

五、数据访问层:

(一)DAL的作用:

①从数据源加载数据(Select)

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

③从数据源删除数据(Delete)

总之,DAL就是与数据源在打交道,需要具备访问数据库的能力。也需要访问其他数据源的能力。

(二)DAL中常用的技术:

①ADO.NET+SQL语句

②O/R Mapping框架

③访问SQL Server数据库时Linq to SQL

六、三层架构的原则:

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

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

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

 


七、三层架构的引用关系:

      表示层、业务逻辑层、数据访问层都需要引用实体类。表示层引用业务逻辑层,业务逻辑层引用数据访问层。与层之间不能直接跨层调用。


八、优缺点

优点:

        1、开发人员可以只关注整个结构中的其中某一层。

2、可以很容易的用新的实现来替换原有层次的实现。

        3、可以降低层与层之间的依赖

        4、有利于标准化

        5、有利于各层逻辑的复用

缺点:

        1、降低了系统的性能。这是显而易见的。如果不采用分层式结构,很多业务可以直接访问数据库,以此获得相应的数据,如今却必须通过中间层来完成。

        2、有时会导致级联的修改。这种修改尤其体现在自上而下的方向。如果在表示层中需要增加一个功能,为保证其设计符合分层式结构,可能需要在相应的业务逻辑层和数据访问仓中都增加相应的代码。


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 23
    评论
评论 23
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值