为了成为一名架构师必须稳扎稳打,软件架构设计的基本概念

书籍

【软件架构设计-程序员向架构师转型】

什么是架构?

一千个观众眼中有一千个哈姆雷特,所以我们每个人对架构的认识也是不同的。

下面我们从四个方面入手了解架构的基础

  • 软件架构的概念
  • 概念思想的解析
  • 概念架构设计是什么
  • 架构设计视图

软件架构的概念

架构分为两个派系,但是他们之间是相辅相成的

  1. 组成派:计算组件及组件之间的交互,完成更高层次的计算
  • 计算组件:细分为处理组件、数据组件、连接组件
  • 组件:子系统、框架、模块、类
  • 数据加工的处理元素、被加工信息的数据元素、用于把架构的不同部分组成在一起的连接元素
  1. 决策派:在一些重要方面所做出的决策的集合
  • 不仅仅注重软件本身的结构和行为,还注重功能性、性能、弹性、经济和技术的限制及权衡
  • 以人的决策为描述对象,不仅关注系统本身,更包括众多非功能性需求的决策
  • 软件架构是一系列决策,如果决策错误,可能会造成项目失败

概念思想的解析

  1. 关注软件的分与合
  • 我们现在所流行的MVC架构举例,将组件抽象出来

 

  1. 有层次的决策
  • 按切分类决策,C/S系统 设计到模块的划分,模块职责的定义,模块之间的交互机制

  • 按技术选型决策,B/S系统 技术选型,满足约束和质量属性的需求,如何适应需求的变化

概念架构设计什么

  • 架构风格选型
  • 开发技术选型
  • 集成技术选型
  • 二次开发技术选型

架构设计视图

什么是架构设计的视图? 有角度就有空间,从不同角度,规划“分割”和“交互”。

架构视图的本质

本质就是分而治之,大事化小小事化了,颗粒度越小越好。

之前在学习任务分解中听到一个马斯克的故事,记忆犹新。

埃隆·马斯克有一个目标是,送 100 万人上火星,但是呢,实现马斯克的目标,送 100 万人上火星就要 1 万万亿, 这真是一个天文数据,那马斯克是怎么解决的呢?

第一步,降低火箭运输成本,将100亿美金之后降低到50w美金,成本缩小 2 万倍

第二步,将这 2 万分解成 20×10×100

  • 20: 成本降低 20 倍,现在的火星飞船一次只能承载 5 个人,马斯克的打算是,把火箭造大一点,一次坐 100 人
  • 10:成本可以降到十分之一
  • 100:可回收火箭,燃料成本降到一百分之一

现在回头看我们的架构,

逻辑架构:有哪些逻辑元素组成以及他们之间的关系,是不是层、子系统、模块进行更细致的划分,来完成相互之间的交互。

物理架构:组成软件系统的物理元素,以及他们之间的关系和它们部署到硬件上的策略

他们两个相互协作,为详细设计和编程开发实现作为指导。

架构为谁设计

用户:要功能也要质量

客户:充分考虑客户的业务目标和上线时间要求、预算限制等约束条件

开发人员:软件的扩展性、可重用性、可移植性、易理解性和易测试性,影响开发效率

管理人员:模块+交互,管理的基础

总结

我们看到架构就是一个不断拆分,不断整合的过程,这里面有很多需要深入学习的地方。

一图总结:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值