三层架构

     开始了三层的学习,对于三层还只是自己简单的理解,再次特别总结一下。

是什么?

     三层架构通常意义上的三层架构就是将整个业务应用划分为:界面层(User Interface layer)、业务逻辑层(Business Logic Layer)、数据访问层(Data access layer)。区分层次的目的就是为了“高内聚低耦合”的思想。
     此后的三层分别用简写代替:UI(界面层)、BLL(业务逻辑层)、DAL(数据访问层)。
这里所说的三层体系,不是指物理上的三层,不是简单的放置三台机器就是三层体系,而是逻辑上的三层,即把这三个层放置到一台机器上。


为什么?

各层的作用:
     数据访问层(DAL)的作用:
           从数据源加载数据(select)
           向数据源写入数据(Insert/Update)
           从数据源删除数据(Delete)
     显示层(UI)的作用:
          向用户展现特定业务数据
          采集用户的输入信息和操作
     业务逻辑层(BLL)的作用:
          从DAL中获取数据,以供UI显示用
          从UI中获取用户指令和数据,执行业务逻辑
          从UI获取用户指令和数据,通过DAL写入数据源

怎么用?
具体应用——原则:
      DAL只提供基本的数据访问,不包含任何业务相关的逻辑处理;
      UI只负责显示和采集用户操作,不包含任何的业务相关的逻辑处理;
      BLL负责处理业务逻辑,通过获取UI传来的操作指令,决定执行业务逻辑,在需要访问数据源的时候直接交给DAL处理,处理完成后,返回必要数据给UI。
优点:
     1.开发人员可以只关注整个结构中的其中某一层;
     2.可以很容易的用新的实现来替换原有层次的实现;
     3.可以降低层与层之间的依赖;
     4.有利于标准化;
     5.利于各层逻辑的复用。
     6.结构更加的明确;
     7.在后期维护的时候,极大的降低了维护成本和维护时间
缺点:
     1.降低了系统的性能。如果不采用分层式结构,很多业务可以直接访问数据库,以此获取相应的数据,如今却必须通过中间层来完成。
     2.有时会导致级联的修改。这种修改尤其体现在自上而下的方向,如果在表示层中需要增加一个功能,为保证其设计符合分层式的结构,可能需要在相应的业务逻辑层和数据访问层中都增加相应的代码。
     3.增加了开发成本。
引用关系:

     DAL所在程序集不引用BLL和UI;
     BLL需要引用DAL;
     UI直接引用BLL,可能会间接引用DAL

评论 54
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值