初识三层

前言:

    经过几天的学习,对三层算是有了一点的理解。下面来小结一下。

一、什么是三层?

    三层结构通常是指数据访问层、业务逻辑层和显示层。

    显示层(UI):展现给用户的界面,即用户在使用一个系统的时候他的所见所得。依据应用规模的不同,所承受的负荷会有较大的差异,另外客户端的数目,应用的复杂程度都会对其造成一定的影响。
    业务逻辑层(BLL):对数据层的操作和业务的处理。接收用户的指令或者数据输入,提交给应用层做处理,同时负责将业务逻辑层的处理结果显示给用户。相比传统的应用方式,业务层对硬件的资源要求较低。
    数据访问层(DAL):直接操纵数据库,主要是增删改查的功能。存储数据的数据库服务器和处理数据和缓存数据的组件。组件将大量使用的数据放入系统的缓存库,以提高数据访问和处理的效率。

二、为什么要用三层?

    说起为什么用三层,就要谈到两层架构和三层架构的区别。

    传统的两层结构的特点是用户界面层直接与数据库进行交互,还要进行业务规则、合法性校验等工作。这种结构存在着很多局限性,比如:一旦用户的需求发生变化,应用程序都需要进行大量修改,甚至需要重新开发,给系统的维护和升级带来了极大的不便;用户界面层直接访问数据库,会带来很多安全隐患。

    为了克服两层结构的局限性提出了三层结构。

    所谓三层架构,是在客户/服务之间加入了一个"中间层",也叫组件层。它与客户层、服务器层共同构成了三层体系。这里所说的三层体系,不是指物理上的三层,不是简单地放置三台机器就是三层体系结构,也不仅仅有B/S应用才有三层体系结构,三层是指逻辑上的三层。通过引入中间层,将复杂的商业逻辑从传统的双层结构(Client-Server)应用模型中分离出来,并提供了可伸缩、易于访问、易于管理的方法,可以将多种应用服务分别封装部署于应用服务器,同时增强了应用程序可用性、安全性、封装复用性、可扩展性和可移置性,使用户在管理上所花费的时间最小化,从而实现了便捷、高效、安全、稳定的企业级系统应用。

    简单来说,就是三层架构更加易于“解耦”,更加符合“高内聚,低耦合”的思想。

三、各层详细介绍:

 

    UI(显示层)

    作用:
         1.向用户展现特定业务数据。
         2.采集用户的输入信息和操作。
    原则:
         用户至上,兼顾简洁。UI只负责显示和采集用户操作,不包含任何的业务相关的逻辑处理。

 

 

    BLL(业务逻辑层)

    作用:
         1.从DAL中获取数据,以供UI显示用。
         2.从UI中获取用户指令和数据,执行业务逻辑。
         3.从UI中获取用户指令和数据,通过DAL写入数据源。
    原则:
         负责处理业务逻辑。通过获取UI传来的操作指令,决定执行业务逻辑,在需要访问数据源的时候直接交给DAL处理。处理完成后,返回必要数据给UI。

 

 

    DAL(数据访问层)

 

    作用:
         1.从数据源加载数据(select)。
         2.向数据源写入数据(Insert/Update)。
         3.从数据源删除数据(Delete)。
    原则:
         只提供基本的数据访问,不包含任何业务相关的逻辑处理。

 

 

四、三层架构引用原则:

    1、DAL不引用BLL和UI
    2、BLL引用DAL
    3、UI直接引用BLL,简介引用DAL
    4、UI、DAL和BLL 都要引用Model

五、三层架构的优缺点:

优点:
  1.开发人员可以只关注整个结构中的其中某一层; 
  2.可以很容易的用新的实现来替换原有层次的实现; 
  3.可以降低层与层之间的依赖; 
  4.有利于标准化; 
  5.利于各层逻辑的复用。 
缺点:
  1.降低了系统的性能。这是不言而喻的。如果不采用分层式结构,很多业务可以直接造访数据库,以此获取相应的数据,如今却必须通过中间层来完成。 
  2.有时会导致级联的修改。这种修改尤其体现在自上而下的方向。如果在表示层中需要增加一个功能,为保证其设计符合分层式结构,可能需要在相应的业务逻辑层和数据访问层中都增加相应的代码。

小结:

    刚开始学习三层,感觉自己对三层的理解不是很清晰。通过这几天对其他文档的学习和网上查阅相关资料,对三层的理解逐渐深入了。学习的过程,总是不断了解的过程。不要说不会,只是了解的还不够多。以后我们还会不断遇到不断学习,对知识点的理解就更加深入了!

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值