软件分层的优缺点

一、软件层的特性

 

   软件层有如下特性:

 

    1、每个层由一组相关的类或组件构成,共同完成特定的功能。

 

    2、层与层之间存在自上而下的依赖关系,即上层组件会访问下层的组件API,而下层组件不依赖于上层组件。例如表示

层依赖于业务逻辑层,而业务层依赖于数据层。

 

    3、每个层对上层公开API,但具体的实现细节对外是透明的,当某一层的实现发生变化时,只要API不变,就不会影响到其他层的实现。

 

    总的来讲,软件分层的最基本特征就是层与层之间存在自上而下的依赖关系。

 

二、软件分层的优点

 

   恰当的进行软件分层,可以提高软件的以下性能:

 

    1、可伸缩性,指应用程序是否能支持更多的用户。

 

    2、可维护性、灵活性,比如当需求发生变化时,只需要修改软件的一部分,不会影响到其他部分的代码,降低了层 

与层之间的耦合度。

 

    3、可扩展性,可以很方便的在现有系统中新功能,而层少越少,新增加的功能就越容易破坏现有程序的结构,层数多的话,就可以在第个层中找扩展点。

 

    4、可重用性,可以减少程序代码冗余,每一层都可以多种用途,满足于多种需求,比如,业务逻辑层可以被多种表述层共享。

 

     5、可管理性,程序分层后可以降低系统管理的难易程序,将程序分为多层后,可以将工作分解给不同的开发小组,从而便于管理,系统越复杂、规模越大,分的层数就需越多。

 

三、软件分层的缺点

 

      软件分层越多,对软件设计人员的要求也就越高,在设计阶段,必须花更多的时间构思合理的体系结构,如考虑如何划

分层、定义每个层的职责;如果在体系结构方面存在缺陷,比如,层与层之间出现自下而上的依赖关系,一旦业务逻辑发生

变化,可能表示层的代码也要修改。

 

      在调试方面,随着层数增加,调试也会越困难,比如我们常用的三层架构,依赖关系都是自上而下的,比如表现层出现

了bug,可能是表现层出现的问题,也有可能是业务逻辑层出现的,也有可能是数据访问层出现的,像这种情况下,我们调

试时就需要将每层的开发人员联合起来,才可能找到bug的原因。

 

      软件分层越多,系统的性能也会有所影响。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值