三层架构3-tier architecture

2020-10-12  本文已影响0人  大龙10

三层架构3-tier architecture

一、什么是三层?

  首先要知道三层不是一项实际的技术,他是一种设计软件的思想。这种思想就是把软件分为三层、或者说三个类,分别是表现层(UI)、业务逻辑层(BLL)、数据访问层(DAL)。分层的目的是为了高内聚,低耦合、便于更改维护。

  每个层各司其职、相互只是调用关系、这样好处就是如果要更改界面、那就改UI层、其他层都不用动、或者以后软件换数据库、那么改DAL层就好。这些其实都是面向对象思想、分层思想,本质就是减少联系、做到可更换,不用一点坏了就要换全部、分层就是这种思想。

二、三层功能

1、表现层(UI):

  通俗讲就是展现给用户的界面,他担当者接受用户信息和给用户显示用户信息的功能,即用户在使用一个系统的时候他的所见所得。

2、业务逻辑层(BLL):

  针对具体问题的操作,也可以说是对数据层的操作,对数据业务逻辑处理、最明显的就是三大语句、判断、循环、多分支、这个一定是在逻辑层的。

3、数据访问层(DAL):

  该层所做事务直接操作数据库,针对数据的增添、删除、修改、更新、查找等。

三、结构体系

  三层架构的体系结构:

四、优点:

1、解耦。

  上一层只依赖于下一层,如果测试下一层没有问题,那么问题就只可能出现在本层了。便于发现和改正BUG。

2、简化复杂问题。

  就比如tcpip协议的四层模型或OSI七层模型,各层分工明确,将一个复杂问题简化了。

3、便于系统维护/升级。

  各层间通过接口解耦,接口与实现分离,从而可以非常方便的替换掉实现,或者升级实现等。

4、逻辑复用。

  例如原来基于B/S开发的程序现在要改成C/S,那么只要业务层的接口没有改变,那么业务层和数据层都可以直接复用。在如,只要数据访问层接口不变,那么使用便可以有对不同数据库的实现。

5、有利于标准化。

  便于团队开发。只要各层接口在开发前规定好,那么各层可以独立开发,进化或维护。

6、方便部署。

  将各层开发成组件,则可以独立部署。

7、安全性高。

  用户端只能通过业务逻辑层来调用数据访问层,减少了入口点,把很多危险的系统功能都屏蔽了。

五、缺点:

1、降低了系统的性能。

  这是不言而喻的。如果不采用分层式结构,很多业务可以直接造访数据库,以此获取相应的数据,如今却必须通过中间层来完成。

2、有时会导致级联的修改。

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

3、增加了代码量

  增加了工作量

六、参考资料

1、https://blog.csdn.net/u010191034/article/details/24588675
2、百度百科

上一篇 下一篇

猜你喜欢

热点阅读