三层架构——U层、B层、D层,层层深入

引用一张图片来表示三层系统的分层次结构:

表现层(UI):通俗地讲就是展现给用户的界面,即用户在使用一个系统的时候他的所见所得。

业务逻辑层(BLL):针对具体问题的操作,也可以说是对数据层的操作,对数据业务逻辑处理。

数据访问层(DAL):该层所做事务直接操作数据库,针对数据的增删改查等。

下面这张图是对各个层作用的解释:


    但每个系统不只有这三个部分,还包括业务实体和一些通用类库。日常开发的很多情况下为了复用一些共同的东西,会把一些各层都用的东西抽象出来。如我们将数据对象实体和方法分离,以便在多个层中传递,例如称为Model。Model用于封装实体类数据结构,一般用于映射数据库的数据表或视图,用以描述业务中客观存在的对象。而一些共性的通用辅助类和工具方法,如数据校验、缓存处理、加解密处理等,为了让各个层之间复用,也单独分离出来,作为独立的模块使用,例如称为Common。

    所以,系统结构成为下面这张图的样子:




运用三层的思想开发系统有很多好处,同时也有弊端。总结如下:

优点

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

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

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

  4、有利于标准化;

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

缺点

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

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

  3、增加了开发成本。

 

    所以我们所要开发的系统是不是有必要分层值得考虑,如果系统很简单,不需要分层,那么就没必要费很多事写很多代码,如果系统很庞大需要合作开发,那么三层会是最好的选择。有人很形象地把运用三层结构开发软件和生产猪肉食品相比拟,并通过把猪从养猪厂被处理的一系列过程最终被卖给消费者说明了三层结构的各个层的作用及它们之间的引用关系。见下图:



    分层的优势就在于人尽其才,物尽其用,各司其职。试想一下,如果从养猪到宰猪到做成熟食到卖给别人统统由你们一家完成,那么。。。




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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值