理解代码分层架构 |
您所在的位置:网站首页 › php 代码分层 › 理解代码分层架构 |
一、为什么要做代码分层
代码分层架构设计主要为了实现责任分离、解耦、组件复用和标准制定。 二、什么是代码分层架构先通过软件分层架构来说起 1、什么是软件分层架构软件分层架构是通过层来隔离不同的关注点。 软件分层架构就是通过层来隔离不同的关注点。 2、什么是代码分层架构代码分层架构其实就是将软件“元素”(代码)按照“层”(代码关系)的方式组织起来的一种结构。 分层架构核心的原则是:当请求或数据从外部传递过来后,必须是从上一层传递给下一层。 代码分层架构示意图: 分层的本质就是为了让相似变化在各自的层内变化,而不造成层与层之间的相互影响。 三、代码分层架构解决了什么问题主要解决了以下两个问题: 1、如何快速拆解功能问题?例如,一个功能需求问题通常都是笼统的复杂问题,我们一般都会将这个笼统的复杂问题拆分为多个层次的子问题来解决。通过解决多个层次的子问题,最终达成整体复杂的大问题。 所以,从功能性需求角度来看,代码分层本身就是一种拆解复杂问题的好方法。 2、如何提升代码的可扩展性?分层架构可以将复杂的逻辑切分为多个层,这样大问题就变成了多个小问题,而且可以很方便地解决每个小问题。每个小问题更容易被抽象为一个组件,当组件功能需要扩充或替换时,修改代码的影响也被有效地控制在有限的范围内,这样组件自身的复用性也就提高了。 四、代码分层架构的优势和劣势 1、优势: 1.1 只用关注整个结构中的其中某一层的具体实现 1.2 降低层与层之间的依赖 1.3 很容易用新的实现来替换原有层次的实现 1.4 有利于标准化的统一 1.5 各层逻辑方便复用 2、劣势: 2.1 开发成本变高:因为不同层分别承担各自的责任,如果是高层次新增功能,则需要多个低层增加代码,这样难免会增加开发成本。 2.2 性能降低:请求数据因为经过多层代码的处理,执行时长加长,性能会有所消耗。 2.3 代码复杂度增加:因为层与层之间存在强耦合,所以对于一些组合功能的调用,则需要增加很多层之间的调用。 五、总结代码分层架构设计的思维模型是简化思维,本质是抽象与拆解。 代码分层架构设计的目的是将复杂问题拆分为更容易解决的小问题,降低实现难度。 代码分层架构设计的原则和方法是通用方法,可以应用到其他需要分层设计的地方。 |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |