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

三、如何成为好的架构师?
想要成为好的架构师,没有什么捷径,需要比普通程序员更多的努力才行。
为架构师的话,我的建议是:
- 要成为一个优秀的程序员
- 多模仿多学习
- 选择好行业和平台
四、其他摘抄
- 对于程序员来说,并不代表一定要有一个架构师的头衔,而是心中有大局观,有架构师的思维,从而能理解架构设计,能写出好的程序。
- 有一种架构师叫“PPT 架构师”,也就是说擅长写 PPT,画架构图。对各种热门的名词如数家珍。但是脱离一线开发,对业务和底层基础知识知之甚少。这样的架构师设计出来的架构,通常是不接地气的,实现起来会非常困难,成本也高。
- 在刚开始的时候,不用想着闭门造车,想出一个特别牛的架构。反倒不如先把业界成熟的流行的架构吃透,用好。
总结
架构师思维,指的是要具备良好的抽象思维、分治思维、复用思维和迭代思维。
要想成为好的架构师,没有什么捷径可以走,首先需要要成为一个优秀的程序员,然后多模仿、多学习好的架构设计,最后还要早点选择好行业和平台,积累好行业的业务知识,借助平台获得大量的实践机会。
边栏推荐
- 6、 Pointer meter recognition based on deep learning key points
- 智能货架安全监测系统
- 电力电子:单项逆变器设计(MATLAB程序+AD原理图)
- STM32 串口乱码
- Migration learning robot visual domain adaptation with low rank reconstruction
- Tf.get in tensorflow_ Detailed explanation of variable() function
- 智慧充电桩系统由什么组成?
- 2、 During OCR training, txt files and picture data are converted to LMDB file format
- 【RoboMaster】A板接收JY-ME01角度传感器数据--modebus协议&CRC软件校验
- 1、 Usage of common loss function
猜你喜欢

基于wifi的温度采集与控制系统

ML11-SKlearn实现支持向量机

充电桩应用方案

智慧能源管理系统解决方案

6、 Pointer meter recognition based on deep learning key points

ML8自学笔记

零基础学FPGA(五):时序逻辑电路设计之计数器(附有呼吸灯实验、简单组合逻辑设计介绍)

HAL库学习笔记- 8 串口通信之概念

2、 During OCR training, txt files and picture data are converted to LMDB file format

1、 Focal loss theory and code implementation
随机推荐
华为云14天鸿蒙设备开发-Day2编译框架
华为云14天鸿蒙设备开发-Day1环境搭建
QT学习笔记-QtSQL
Typical cases of xdfs & China Daily Online Collaborative Editing Platform
华为云14天鸿蒙设备开发-Day7WIFI功能开发
三、如何读取视频?
HAL库学习笔记- 9 DMA
Hal library learning notes-12 SPI
Am model in NLP field
Pytorch's data reading mechanism
Fasttext learning - text classification
基于AD9850的多功能信号发生器
STM32FF030 替代国产单片机——DP32G030
Transfer learning
iSCSI vs iSER vs NVMe-TCP vs NVMe-RDMA
入门到入魂:单片机如何利用TB6600高精度控制步进电机(42/57)
TLE5012b+STM32F103C8T6(bluepill)读取角度数据
倾角传感器精度校准检测
Chongqing Avenue cloud bank, as a representative of the software industry, was invited to participate in the signing ceremony of key projects in Yuzhong District
ML16-神经网络(2)