• 首页 首页 icon
  • 工具库 工具库 icon
    • IP查询 IP查询 icon
  • 内容库 内容库 icon
    • 快讯库 快讯库 icon
    • 精品库 精品库 icon
    • 问答库 问答库 icon
  • 更多 更多 icon
    • 服务条款 服务条款 icon

架构整洁:道-核心笔记

武飞扬头像
加多
帮助1

高层架构&底层设计细节

架构”这个词往往使用于“高层级”的讨论中。这类讨论一般都把“底层”的实现细节排除在外。而“设计”一词,往往用来指代具体的系统代码组织结构和实现细节。但是,从一个真正的系统架构师的日常工作来看,这样的区分是根本不成立的。

底层设计细节和高层架构信息是不可分割的。只考虑高层架构,而不考虑设计细节会导致架构师脱离一线,导致架构师永远不了解具体开发代码时会遇到什么问题。而只考虑设计细节而不考虑架构会导致视野的局限性,没有全局观,设计出来的系统可能边界不清楚,组件划分不明确,系统最终成为一团谁也理不清的乱麻。

所以一个好的架构师首先要做高层架构来梳理整个系统的边界,组件划分,从而构建一个职责清晰的架构视图,然后还要对架构进行推演,思考具体实施时会遇到哪些问题。

软件架构的终极目标

软件架构的终极目标是,用最小的人力成本来满足构建和维护该系统的需求。
构建:从0到1完成系统开发的成本
维护:新增功能,修改已有功能的成本。(相比构建更重要)

构建从0到1的系统,会很快,不是问题,问题是后期的功能迭代的成本。如果软件架构比较糟糕,那么会导致后期迭代很小的功能也需要花费大量的人力资源。如果在构建系统时通过合理的模块划分,分层,抽象,根据SOLID设计原则来构建软件,则会把系统划分为边界良好的组件,然后提供足够的扩展性,从而会使迭代功能成本比较低

好的设计和架构可以减少系统的构建和维护成本,提高生产力。

行为价值&架构价值

行为价值:根据需求实现的用例功能,这些可以给企业带来盈利
架构价值:软件应该容易被修改,新增或者修改已有功能
长远看架构价值更重要。架构混乱会导致系统越来越难维护,后期迭代功能时候成本越来越高。

编程范式

结构化编程

结构化程序设计则采用自顶向下、逐步求精的设计方法,各个模块通过“顺序、选择、循环”的控制结构进行连接,并且只有一个入口、一个出口。

结构化程序设计的原则可表示为:程序=(算法) (数据结构)。算法是一个独立的整体,数据结构(包含数据类型与数据)也是一个独立的整体。两者分开设计,以算法(函数或过程)为主。

  • 自顶向下
    程序设计时,应先考虑总体,后考虑细节;先考虑全局目标,后考虑局部目标。不要一开始就过多追求众多的细节,先从最上层总目标开始设计,逐步使问题具体化。

  • 逐步细化
    对复杂问题,应设计一些子目标作为过渡,逐步细化。

  • 模块化

这篇好文章是转载于:学新通技术网

  • 版权申明: 本站部分内容来自互联网,仅供学习及演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,请提供相关证据及您的身份证明,我们将在收到邮件后48小时内删除。
  • 本站站名: 学新通技术网
  • 本文地址: /boutique/detail/tanhgfekae
系列文章
更多 icon
同类精品
更多 icon
继续加载