当前位置:网站首页>【软件工程之美 - 专栏笔记】23 | 架构师:不想当架构师的程序员不是好程序员
【软件工程之美 - 专栏笔记】23 | 架构师:不想当架构师的程序员不是好程序员
2022-07-29 05:23:00 【if...else...】
专栏信息
专栏作者:宝玉
专栏发布平台:极客时间
主要内容
对于程序员来说,并不代表一定要有一个架构师的头衔,而是心中有大局观,有架构师的思维,从而能理解架构设计,能写出好的程序。
一、什么是架构师思维?
对于架构师来说,要控制技术复杂性,有几种有效的方式:抽象、分治、复用和迭代。
抽象思维
抽象思维可以说是整个架构设计的基础。
在软件项目中,遇到类似的场景,就会考虑抽象出来,总结一个规则和方法。有时候即使场景不同,也可以把其中有共性的内容抽象出来,可以更方便的使用。
分治思维
架构设计的一个重点,就是要对复杂系统分而治之,分解成小的、简单的部分。但光分解还是不够的,同时还需要保证分解后的部分能够通过约定好的协议集成在一起。
复用思维
复用是一种非常简单有效的提升开发效率的方法,通过对相同内容的抽象,让其能复用于不同的场景。
迭代思维
好的架构设计,通常不是一步到位,而是先满足好当前业务需求,然后随着业务的变化而逐步演进。
二、好的架构师什么样?
一个好的架构师,不仅技术要好,还要懂业务;能从整体设计架构,也能在局部实现功能。
因为作为架构师,如果不写代码,是不能体会出设计不好带来的问题,无法及时地对架构中的问题做出调整。
好的架构师还有一个能力就是沟通能力。
要成为好的架构师,需要具备几个条件:
- 有架构师思维:具备良好的抽象思维、分治思维、复用思维和迭代思维;
- 懂业务需求:能很好地理解业务需求,能针对业务特点设计好的架构;
- 有丰富的编码经验:像抽象、分治、复用这些能力,都需要大量的编码练习才能掌握;另外保持一定量的编码经验也有助于验证架构设计;
- 良好的沟通能力:架构师需要沟通确认需求,需要让团队理解架构设计。

三、如何成为好的架构师?
想要成为好的架构师,没有什么捷径,需要比普通程序员更多的努力才行。
为架构师的话,我的建议是:
- 要成为一个优秀的程序员
- 多模仿多学习
- 选择好行业和平台
四、其他摘抄
- 对于程序员来说,并不代表一定要有一个架构师的头衔,而是心中有大局观,有架构师的思维,从而能理解架构设计,能写出好的程序。
- 有一种架构师叫“PPT 架构师”,也就是说擅长写 PPT,画架构图。对各种热门的名词如数家珍。但是脱离一线开发,对业务和底层基础知识知之甚少。这样的架构师设计出来的架构,通常是不接地气的,实现起来会非常困难,成本也高。
- 在刚开始的时候,不用想着闭门造车,想出一个特别牛的架构。反倒不如先把业界成熟的流行的架构吃透,用好。
总结
架构师思维,指的是要具备良好的抽象思维、分治思维、复用思维和迭代思维。
要想成为好的架构师,没有什么捷径可以走,首先需要要成为一个优秀的程序员,然后多模仿、多学习好的架构设计,最后还要早点选择好行业和平台,积累好行业的业务知识,借助平台获得大量的实践机会。
边栏推荐
- 避坑:关于两个HC-05主从一体蓝牙模块互连,连不上问题
- Fasttext learning - text classification
- 2022春招——禾赛科技FPGA技术岗(一、二面,收集于:数字IC打工人及FPGA探索者)
- 2、 Summary of deep learning data enhancement methods
- 基于51单片机ADC0808的proteus仿真
- 基于FPGA:运动目标检测(原理图+源码+硬件选择,可用毕设)
- Wechat applet source code acquisition (download with tools)
- 基于STC51:四轴飞控开源项目原理图与源码(入门级DIY)
- 基于F407ZGT6的WS2812B彩灯驱动
- ML8自学笔记
猜你喜欢

Transfer joint matching for unsupervised domain adaptation

HAL库学习笔记-14 ADC和DAC

Reading papers on false news detection (5): a semi supervised learning method for fake news detection in social media

Hal library learning notes-11 I2C

Power Bi report server custom authentication

ML8自学笔记-LDA原理公式推导

基于51单片机的DAC0832波形发生器

逻辑回归-项目实战-信用卡检测任务(下)

Migration learning notes - adaptive component analysis

EPS32+Platform+Arduino 跑马灯
随机推荐
Continue the new journey and control smart storage together
Transfer learning
Hal library learning notes - 8 use of serial communication
智慧能源管理系统解决方案
DP4301—SUB-1G高集成度无线收发芯片
1、 Multiprocessing.pool.remotetraceback
2021-06-10
噪音监测传感系统
Low rank transfer subspace learning
NFC双向通讯13.56MHZ非接触式阅读器芯片--Si512替代PN512
Am model in NLP field
Hal library learning notes-11 I2C
2、 Summary of deep learning data enhancement methods
2、 During OCR training, txt files and picture data are converted to LMDB file format
STM32 MDK(Keil5) Contents mismatch错误总结
FT232替代GP232RL USB-RS232转换器芯片国产化应用
基于msp430f2491的proteus仿真(实现流水灯)
二、多并发实现接口压力测试
噪声传感器工作原理是什么?
1、 Combine multiple txt files into one TXT file