美文网首页
架构分层

架构分层

作者: Zeppelin421 | 来源:发表于2021-12-31 09:49 被阅读0次

    架构设计的目的是解决软件系统复杂度带来的问题。分层架构设计只不过是架构设计中的一种设计思想和方法论

    认识分层架构

    分层架构是运用最为广泛的架构模式,几乎每个软件系统都需要通过层(Layer)来隔离不同的关注点(Concern Point),以应对不同需求的变化,使得这种变化可以独立进行。简单点说,它将整体系统拆分成N个层次,每个层次有独立的职责,多个层次协同提供完整的功能。

    分层的依据和原则
    • 基于关注点不同
      机器为本,用户至上:机器是运行系统的基础,而我们打造的系统是为用户提供服务的。经典分层架构为三层正是源于这样的认知:其上,面向用户的体验与交互;其中,面向应用与业务逻辑;其下,面对各种外部资源与设备。
    • 面对变化
      分层应针对不同的变化原因确定层次的边界,严禁层次之间互相干扰,或者至少将变化对各层带来的影响降到最低。层与层之间的关系应该是正交的

    正交:指互相独立,不可替代,并且组合起来可以实现其他功能

    • 同一层的组件处于同一个抽象层次
      这是分层架构的设计原则,它要求一个方法中的所有操作处于相同的抽象层,这就是所谓的“单一抽象层次原则”。例如:一个方法中不能既有“连接数据库”这种抽象层,又有“执行业务逻辑”这种抽象层。这样我们的代码就不具备可读性和可维护性。

    分层架构优势

    • 分层架构将软件应用划分为若干层,每一层只解决一部分问题,通过各层的协作提供整体的解决方案。大的问题被分解为一系列相对独立的子问题,局部化在每一层中,这样就有效的降低了单个问题的规模和复杂度,实现了复杂系统的最为关键的一步分解
    • 分层架构具有良好的拓展性。各层级的职责单一化,实现高内聚低耦合,各层次的功能可以最大化地复用,层与层之间可以方便的插入新的层来拓展应用
    • 分层架构利于维护。不同的功能被封装在不同的层中,层与层之间的耦合度显著降低,各层之间通过接口交互,因此改某层代码时,只要不修改接口,就不会严重影响其它层

    分层架构缺点

    • 降低了系统的性能。这是不言而喻的。如果不采用分层式结构,很多业务可以直接造访数据库,以此获取相应的数据,如今却必须通过中间层来完成。
    • 有时会导致级联的修改。这种修改尤其体现在自上而下的方向。如果在表示层中需要增加一个功能,为保证其设计符合分层式结构,可能需要在相应的业务逻辑层和数据访问层中都增加相应的代码。
    • 增加了开发成本。

    相关文章

      网友评论

          本文标题:架构分层

          本文链接:https://www.haomeiwen.com/subject/aalgqrtx.html