北大青鸟java培训:分层架构的优缺点有哪些?

Python013

北大青鸟java培训:分层架构的优缺点有哪些?,第1张

在进行软件开发过程中,为了能够更有效的执行系统架构,一般情况下需要进行分层结构的形式来构成。

那么在使用分层架构的过程中有哪些优缺点呢?下面电脑培训为大家具体介绍。

一、什么是分层架构分层体系结构主要是根据水平分割将软件模块划分为多个层次。

系统由多层组成,每一层由多个模块组成。

那么多少层才是合适的呢?IT培训认为,根据不同的复杂性分为不同的层次,基本的层次结构是三个层次,即表示层、域层和数据持久层。

二、分层架构的好处1、单一职责:每层只负责一个角色,责任边界清晰。

如果持久层只负责数据查询和存储,则字段级别仅负责处理业务逻辑

2、高内聚:分层是在相同的层中放置相同的责任,并且所有业务逻辑在领域层中都是一致的。

做这个的好处是什么?山东北大青鸟设想如果业务逻辑分散在每层上,则修改功能需要修改为各层,测试业务逻辑需要测试所有层的代码,从而增加了整个软件的复杂度和测试难度。

3、易维护将面对变更且容易修正的所有对外界面放入对外界面层中,如果外部依存的界面被修改的话,只要变更该层的代码即可。

三、分层架构的缺点1、开发成本高由于多层承担着各自的任务,因此需要在多个级别上追加代码,以添加功能。

这样,开发成本就会增加。

但是,北大青鸟认为合理的能力抽象化可以提高多重性,降低开发成本。

2、可扩展性低:由于在上下层之间存在结合度,所以所有的功能变化都有可能参与多层的修正。

我们在开发软件的时候,为了能够更有效的进行系统架构,一般会使用分层架构的形式来进行搭建。

下面宁夏电脑培训http://www.kmbdqn.cn/就一起来了解一下关于分层架构的优缺点都有哪些。

什么是分层架构?分层架构是将软件模块按照水平切分的方式分成多个层。

一个系统由多层组成,每层由多个模块组成。

那么到底分几层合适?我认为根据不同的复杂度分成不同的层次,基本的是分层架构是三层,即表现层,领域层和数据持久层。

而《领域驱动设计》EricEvans建议分四层分别是表现层,应用层、领域层和基础层,业务逻辑在领域层,基础层比持久层的范围更大,不仅可以提供持久层服务,还可以提供缓存等服务。

四层中的应用层是对三层架构中领域层进行进一步拆分。

但是无论怎么分层,业务逻辑永远在领域层。

分层架构的好处分层架构的目的是通过关注点分离来降低系统的复杂度,同时满足单一职责、高内聚、低耦合、提高可复用性和降低维护成本。

单一职责:每一层只负责一个职责,职责边界清晰,如持久层只负责数据查询和存储,领域层只负责处理业务逻辑。

高内聚:分层是把相同的职责放在同一个层中,所有业务逻辑内聚在领域层。

这样做有什么好处呢?试想一下假如业务逻辑分散在每一层,修改功能需要去各层修改,测试业务逻辑需要测试所有层的代码,这样增加了整个软件的复杂度和测试难度。

低耦合:依赖关系非常简单,上层只能依赖于下层,没有循环依赖。

可复用:某项能力可以复用给多个业务流程。

比如持久层提供按照还款状态查询信用卡的服务,既可以给申请信用卡做判断使用,也可以给展示未还款信用卡使用。

易维护:面对变更容易修改。

把所有对外接口都放在对外接口层,一旦外部依赖的接口被修改,只需要改这个层的代码即可。

以上这些既是分层的好处也是分层的原则,大家在分层时需要遵循以上原则,不恰当的分层会违背了分层架构的初衷。

分层架构的缺点分层架构也有几个缺点开发成本高:因为多层分别承担各自的职责,增加功能需要在多个层增加代码,这样难免会增加开发成本。

但是合理的能力抽象可以提高了复用性,又能降低开发成本。

性能略低:业务流需要经过多层代码的处理,性能会有所消耗。

可扩展性低:因为上下层之间存在耦合度,所有有些功能变化可能涉及到多层的修改。

三层架构(3-tier application) 通常意义上的三层架构就是将整个业务应用划分为:表现层(UI)、业务逻辑层(BLL)、数据访问层(DAL)。瑭锦TANJURD解释区分层次的目的即为了“高内聚,低耦合”的思想。1、表现层(UI):通俗讲就是展现给用户的界面,即用户在使用一个系统的时候他的所见所得。2、业务逻辑层(BLL):针对具体问题的操作,也可以说是对数据层的操作,对数据业务逻辑处理。3、数据访问层(DAL):该层所做事务直接操作数据库,针对数据的增添、删除、修改、更新、查找等。