架构整洁之道-第一部分-架构的认识

69 阅读2分钟

设计与架构

设计

设计是更偏向底层细节的行动,设计需要考虑底层细节

架构

比设计维度更高的行动,架构是抛弃实现细节,关注整体的实现

总结

架构和设计是两个单独的行动,我的理解是先要做架构再做设计,只有把整体从全盘考虑清楚,明确了整体的方向,底层的实现细节再从每个点分别考虑。

架构是什么

架构的定义

软件架构是软件系统的基本描述,通过软件架构定义软件系统中的模块、模块之间的关系以及软件系统的开发标准,架构是软件系统的指导方针。

通过架构可以描述一个软件系统中的实现模块、模块之间的边界以及系统的开发标准。

架构的目标

用最少的人力实现构建和维护系统的业务需求

架构的特点

要想跑得快,先要跑的稳

要在团队内制定软件开发的标准,多一点标准可以让架构走的更远

过度自信会影响开发

面对一个架构设计问题时,不要想着重构,因为重构之后的路就是现在自己现在面对的架构设计问题,所以要想着如何解决问题。不要盲目自信觉得重构架构可以解决任何问题

足够灵活

  • 架构的基础就是灵活,架构要容易被维护和修改
  • 灵活要有范围,灵活要在架构标准内,如果超出架构标准不是灵活而是难题

设计架构需要考虑的几个方面

  • 人力资源的成本
  • 设备的成本
  • 迭代周期
  • 改动的影响面
  • 新人上手的周期
  • 支撑业务的周期

架构的价值维度

行为架构

具体体现为:

  • 程序员通过产品文档实现一个系统的功能
  • 修复系统中的某个bug

架构价值

具体体现为:

  • 架构的灵活性,软件应该容易被修改,变更实施的难度应该可以和变更的范围成等比关系
  • 好的系统架构设计应该尽可能做到和“形状”(改动点)无关

总结

软件架构师更应该关注系统的整体结构,而不是具体的功能和系统行为的实现