三层架构


三层架构


三层架构(3-tier architecture) 通常意义上的三层架构就是将整个业务应用划分为:界面层(User Interface layer)、业务逻辑层(Business Logic Layer)、数据访问层(Data access layer)。区分层次的目的即为了“高内聚低耦合”的思想。在软件体系架构设计中,分层式结构是最常见,也是最重要的一种结构。微软推荐的分层式结构一般分为三层,从下至上分别为:数据访问层、业务逻辑层(又或称为领域层)、表示层。


三层的作用


1:数据访问层:主要是对非原始数据(数据库或者文本文件等存放数据的形式)的操作层,而不是指原始数据,也就是说,是对数据库的操作,而不是数据,具体为业务逻辑层或表示层提供数据服务。

2:业务逻辑层:主要是针对具体的问题的操作,也可以理解成对数据层的操作,对数据业务逻辑处理,如果说数据层是积木,那逻辑层就是对这些积木的搭建。

3:界面层:主要表示WEB方式,也可以表示成WINFORM方式,WEB方式也可以表现成:aspx,如果逻辑层相当强大和完善,无论表现层如何定义和更改,逻辑层都能完善地提供服务。


三层的优缺点


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


软件开发分层的好处



  1. 伸缩性:伸缩性指应用程序是否能支持更多的用户。
  • 例如,在双层GUI应用程序中,通常对每个用户都提供一个数据库连接,如果有10000个用户, 则需要建立10000个数据库连接。而在三层结构中,可采用数据库连接池机制,用少量数据库连接支持多个用户。应用的层越少,可以增加资源(如CPU和内 存)的地方就越少。层数越多,可以将每层分布在不同的机器上,例如,在一组服务器作为Web服务器,一组服务器处理业务逻辑,还有一组服务器作为数据库服 务器。
  1. 维护性:维护性指的是当发生需求变化,只需要修改软件的某一部分,不会影响其他部分的代码。
  • 层数越多,维护性也会不断提高,因为修改软件的某一层的实现,不会影响其他层。
  1. 扩展性:扩展性指的是在现有系统中增加新功能的难易程度。
  • 层数越少,增加新功能就越容易破坏现有的程序架构。层数越多,就可以在每个层中提供扩展点,不会打破应用的整体架构。
  1. 重用性:重用性指的是程序代码没有冗余,同一个程序能满足多种需求。
  • 例如,业务逻辑层可以被多种表述层共享,既支持基于GUI的表述层,也支持基于Web页面的表述层。代码的重用可以减少开发人员重复繁琐的工作,提高开发效率。
  1. 管理性:管理性指的是管理系统的难易程度。
  • 将应用程序分为多层后,可以将工作分解给不同的开发小组,从而便于管理。应用越复杂,规模越 大,需要的层就越多。软件分层后,各个开发小组只需要掌握该层需要的技术,可以高效率的并行开发,这是加快开发速度,保证项目开发进度的最好办法。

谢谢您的浏览!
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 22
    评论
评论 22
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值