《Unity3D高级编程之进阶主程》第二章 架构(二) - 软件系统架构思维方式

软件研发、系统架构中最重要的能力------抽象能力。

架构师先要在大脑中形成抽象概念 ,然后是子模块分解 ,以及子模块之间的沟通方式 ,然后是依次实现 子模块,最后将子模块拼装组合起来,形成最后系统。我们常说编程和架构设计就是搭积木,优秀的架构师受职业习惯影响,眼睛里看到的世界都是模块化拼装组合式的。

思维方式

1、分层思维

构建一套复杂系统,我们把整个系统划分成若干个层次,每一层专注解决某个领域的问题,并向上提供服务。这样的抽象做法,让复杂的事务变得更加清晰有序。有些层次并不一定是横向的,也可以是纵向的,纵向的层次贯穿其他横向层次,称为共享层。

架构案例

中小型的Spring Web应用程序,三层架构:

Linux操作系统

TCP/IP协议栈

2、分治思维

分而治之也是应对和管理复杂性的一般性方法。

分治的思维流程:

作者2015年思考Unity3D手游项目开发整体流程时,用分治法抽象出来的对整个问题的分解。

3、演化思维

架构既是设计出来的,同时也是演化出来的,对于互联网系统,基本上可以说是三分设计,七分演化,而且是在设计中演化,在演化中设计,一个不断迭代的过程。

架构师除了要利用自身的架构设计能力,同时也要学会借助用户反馈和进化的力量,推动架构的持续演进,这个就是演化式架构思维。

从单块架构开始,随着架构师对业务域理解的不断深入,也随着业务和团队规模的不断扩大,渐进式地把单块架构拆分成微服务架构的思路,这就是演化式架构的思维。

相关推荐
Rabitebla4 小时前
【系统性学习笔记】Linux 权限篇(二):文件属性、权限修改与目录权限的底层逻辑
linux·c++·笔记·学习·算法
这个DBA有点耶5 小时前
索引建了查询却更慢——优化器选错索引与Index Merge的隐藏代价
数据库·架构·代码规范
吴建旭 智宅焕5 小时前
智能家居全国交付中售后服务判断层与执行层的架构分离:上门检测责任边界与交付确定性设计
架构·智能家居
深圳老胡5 小时前
STM32CubeMX 2 与 STM32CubeMX 的主要区别
笔记·stm32·单片机·代码规范
叼烟扛炮6 小时前
Linux 学习笔记(十三):高效排错利器——GDB 调试器入门
linux·笔记·学习
Source.Liu7 小时前
【A11】服务器数据库结构笔记
服务器·数据库·笔记
某林2127 小时前
局部路径规划器 DWB:速度采样与评分权重的取值分析
人工智能·算法·架构·机器人·技术复盘
Thneonl8 小时前
采样采错地方,trace 全断链:OTel 尾部采样的代价账
后端·架构
leo在掘金8 小时前
一天155万亿Token,DeepInfer省在哪
后端·架构
2601_954811828 小时前
人工智能机器视觉实验箱选型:昇腾算力与工业数据集架构对比
人工智能·架构